我尝试在网络浏览器上显示 JSON 信息,只是为了确保我可以访问它。
JSON 的格式为
[
{
"ts": "2016-10-10T04:40:06.567000",
"sensor_value": 9.7827
},
{
"ts": "2016-10-10T04:40:16.613000",
"sensor_value": 9.80362
},
{
"ts": "2016-10-10T04:40:26.660000",
"sensor_value": 9.80722
},
{
"ts": "2016-10-10T04:40:36.600000",
"sensor_value": 9.77777
},
{
"ts": "2016-10-10T04:40:46.643000",
"sensor_value": 9.79755
},
{
"ts": "2016-10-10T04:40:56.580000",
"sensor_value": 9.91404
}
]
我使用以下 html 来测试并将对象显示为“ul”
<html>
<head>
<script type="text/javascript"
src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$.getJSON('CLEVERTITLE.json',function(data){
console.log('success');
$.each(data,function(index,data){
console.log("entered each")
$('ul').append('<li>'+data.ts+' '
+data.sensor_value+'</li>');
});
}).error(function(){
console.log("ERROR")
});
});
</script>
</head>
<body>
<ul></ul>
</body>
</html>
我正在使用目录中的节点实时服务器通过localhost:8080
访问文件。
但是,运行此命令只会给我一个带有文本“未定义未定义”的项目符号。我希望显示 2016-10-10T04:40:46.643000 9.7777
。如果我也可以访问“ts
”和“sensor_value
”标签,那么它将来可能会有用。如果这是非常基本的,我很抱歉。
编辑:事实证明问题是数据量。我试图显示超过一百万个数据点。当我将金额减少到更合理的数字时,它就可以正常工作了。感谢所有回答的人。
最佳答案
您的 JSON 无效。外部结构不应是对象 ({}
),而是数组 ([]
)。对象包含一组键/值对,而数组包含值列表。
更正如下:
[
{
"ts": "2016-10-10T04:40:06.567000",
"sensor_value": 9.7827
},
{
"ts": "2016-10-10T04:40:16.613000",
"sensor_value": 9.80362
},
{
"ts": "2016-10-10T04:40:26.660000",
"sensor_value": 9.80722
},
{
"ts": "2016-10-10T04:40:36.600000",
"sensor_value": 9.77777
},
{
"ts": "2016-10-10T04:40:46.643000",
"sensor_value": 9.79755
},
{
"ts": "2016-10-10T04:40:56.580000",
"sensor_value": 9.91404
}
]
关于javascript - JSON 访问并在 Web 浏览器中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43404507/