Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSON.parse()永远不会完成_Javascript_Html_Json - Fatal编程技术网

Javascript JSON.parse()永远不会完成

Javascript JSON.parse()永远不会完成,javascript,html,json,Javascript,Html,Json,你知道为什么下面的html永远在JSON.parse(..)上阻塞吗 (我试图解析来自IoT服务器的json响应,json似乎有效,但解析被冻结) 变量数据1={ “东西”:1000, “最后”:[ {“t”:1541239266580,“r”:96,“d:[138,47,188,0,0,18,0,0]}, {“t”:1541236276321,“r”:97,“d:[140,49187,0,0,17,0,0]}, {“t”:15412361222,“r”:98,“d”:[140,49187,0

你知道为什么下面的html永远在JSON.parse(..)上阻塞吗 (我试图解析来自IoT服务器的json响应,json似乎有效,但解析被冻结)


变量数据1={
“东西”:1000,
“最后”:[
{“t”:1541239266580,“r”:96,“d:[138,47,188,0,0,18,0,0]},
{“t”:1541236276321,“r”:97,“d:[140,49187,0,0,17,0,0]},
{“t”:15412361222,“r”:98,“d”:[140,49187,0,0,18,0,0]}
]
};
函数iot_json_函数(数据){
var json_data=json.parse(数据);
var out=“Thing:“+json_data.Thing+”
”; for(json_data.last中的行){ 输出+=”&nsbp;时间:“+line.t+”
”; 输出+=”&nsbp;信号强度:“+line.r+”
”; out+=“数据:” 用于(第d行中的val){ out+=val+“”; } out+=“
” } document.getElementById(“物联网数据转储”).innerHTML=out; } iot_json_函数(数据1);
它不会冻结,它会抛出一个错误:

SyntaxError:JSON中位置1处的意外标记o

例如:

var数据1={
“东西”:1000,
“最后”:[
{“t”:1541239266580,“r”:96,“d:[138,47,188,0,0,18,0,0]},
{“t”:1541236276321,“r”:97,“d:[140,49187,0,0,17,0,0]},
{“t”:15412361222,“r”:98,“d”:[140,49187,0,0,18,0,0]}
]
};
函数iot_json_函数(数据){
var json_data=json.parse(数据);
var out=“Thing:“+json_data.Thing+”
”; for(json_data.last中的行){ 输出+=”&nsbp;时间:“+line.t+”
”; 输出+=”&nsbp;信号强度:“+line.r+”
”; out+=“数据:” 用于(第d行中的val){ out+=val+“”; } out+=“
” } document.getElementById(“物联网数据转储”).innerHTML=out; } 试一试{ iot_json_函数(数据1); }捕获(e){ 控制台错误(e.message); }
这不是问题所在(很可能是下一个问题),但是:代码正在成为问题的牺牲品(这是我贫血小博客上的一篇文章)。在适当的范围内声明变量(如
line
val
)。在松散模式下不声明它们会使它们成为全局性的。
<html>
<body>

<div id="iot_data_dump"></div>

<script>

var data1 = {
        "thing": 1000,
        "last": [
        {"t": 1541239266580, "r": 96, "d": [ 138, 47, 188, 0, 0, 18, 0, 0] },
        {"t": 1541236276321, "r": 97, "d": [ 140, 49, 187, 0, 0, 17, 0, 0] },
        {"t": 1541236161222, "r": 98, "d": [ 140, 49, 187, 0, 0, 18, 0, 0] }
        ]
        };

function iot_json_function(data) {
        var json_data = JSON.parse(data);
        var out = "Thing: " + json_data.thing + "<br>";
        for (line in json_data.last) {
          out += "&nsbp;Time: " + line.t + "<br>";
          out += "&nsbp;Signal Strength: " + line.r + "<br>";
          out += "&nbsp;Data: "
          for (val in line.d) {
             out += val + " ";
          }
          out += "<br>"
        }
 document.getElementById("iot_data_dump").innerHTML = out;
}

iot_json_function(data1);

</script>

</body>
</html>