首页 > 解决方案 > 未捕获的 SyntaxError:位置 4 处 JSON 中的意外标记

问题描述

我检查了其他类似的问题,但我真的无法理解我的情况。

我需要从 json 获取传感器值并将它们放在 html 中。这是html代码。

<div class="sensors">
            <div class="sensor">
                <p class="sensor_title">Температура воздуха</p>
                <p class="sensor_value" id="sensor_value1">123,45</p>
                <p class="sensor_measure">С</p>
            </div>
            <div class="sensor">
                <p class="sensor_title">Давление</p>
                <p class="sensor_value" id="sensor_value2">123.45</p>
                <p class="sensor_measure">hPa</p>
            </div>
            <div class="sensor">
                <p class="sensor_title">Влажность</p>
                <p class="sensor_value" id="sensor_value3">300</p>
                <p class="sensor_measure">%</p>
            </div>
            <div class="sensor">
                <p class="sensor_title">Уровень освещенности</p>
                <p class="sensor_value" id="sensor_value4">400</p>
                <p class="sensor_measure">Lx</p>
            </div>
            <div class="sensor">
                <p class="sensor_title">Уровень воды</p>
                <p class="sensor_value1" id="sensor_value6">Проверка</p>                    
                <p class="sensor_measure"></p>
            </div>
        </div>

这就是 js 函数(xmlHttp 只是 xmlHttprequest 的一个变量)。

load_sensors();

function load_sensors(){
            if(xmlHttp.readyState==0 || xmlHttp.readyState==4){
                xmlHttp.open('PUT','/configsSensors.json',true);                    
                xmlHttp.onload = function(e) {
                    jsonResponse=JSON.parse(xmlHttp.responseText);
                    document.getElementById('sensor_value1').innerHTML=jsonResponse.sensor_value1;
                    document.getElementById('sensor_value2').innerHTML=jsonResponse.sensor_value2;
                    document.getElementById('sensor_value3').innerHTML=jsonResponse.sensor_value3;
                    document.getElementById('sensor_value4').innerHTML=jsonResponse.sensor_value4;
                    document.getElementById('sensor_value5').innerHTML=jsonResponse.sensor_value5;
                    if(jsonResponse.sensor_value6=="1"){
                        document.getElementById('sensor_value6').innerHTML="Нормальный";
                    }else{
                        document.getElementById('sensor_value6').innerHTML="Критический";
                    }
                }
            };
            xmlHttp.send();
        }

这是json数据。

{","sensor_value1":"nan",
   "sensor_value2":"nan",
   "sensor_value3":"nan",
   "sensor_value4":"-2.00",
   "sensor_value5":"",
   "sensor_value6":"1"}

我试图解决这个问题可能已经两周了。请告诉我我到底需要在这里写什么:(

标签: javascriptjsonsyntax-errorunexpected-token

解决方案


它给你这个错误,因为你有前导“,在 { 之后的字符串,消除写入字符的代码”,到 json,你应该解决错误。


推荐阅读