Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.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数据_Javascript_Jquery_Json - Fatal编程技术网

用javascript解析JSON数据

用javascript解析JSON数据,javascript,jquery,json,Javascript,Jquery,Json,我在尝试解析从服务器发送的一些JSON数据时遇到了一个奇怪的情况 数据本质上是一组数据行,即列表列表,如下所示: [[1,2,3],[4,5,6],[7,8,9]] 在使用Firebug的FF中,接收到的JSON数据是有效的,并且呈现正确 当我尝试使用以下语句之一解析JSON数据时,它失败了: JSON.parse 错误时代码中断 jQuery.parseJSON 解析时没有抱怨,但解析的结果是空对象 我成功解析JSON响应的唯一方法是使用可怕的eval语句,这是一个很大的安全问题 有人知道会

我在尝试解析从服务器发送的一些JSON数据时遇到了一个奇怪的情况

数据本质上是一组数据行,即列表列表,如下所示:

[[1,2,3],[4,5,6],[7,8,9]]
在使用Firebug的FF中,接收到的JSON数据是有效的,并且呈现正确

当我尝试使用以下语句之一解析JSON数据时,它失败了:

JSON.parse 错误时代码中断

jQuery.parseJSON 解析时没有抱怨,但解析的结果是空对象

我成功解析JSON响应的唯一方法是使用可怕的eval语句,这是一个很大的安全问题


有人知道会发生什么吗?

我刚刚开始我的JavaScript和JSON冒险,但它看起来不是一个有效的JSON对象。此列表列表中没有键:值。我建议将其更改为包含列表字段的对象列表。例如:

[ 
{ list: [ 1, 2, 3 ] },
{ list: [ 1, 2, 3 ] },
{ list: [ 1, 2, 3 ] }
]

但我可能大错特错了

在Firebug中测试它没有问题:>>>JSON.parse[[1,2,3],[4,5,6],[7,8,9];[[1, 2, 3], [4, 5, 6], [7, 8, 9]]. 我怀疑您过度减少了简化的测试用例。jslint怎么说?你检查过空白吗?有无效的不可见字符吗?编码正常吗?$。parseJSON实际上在清理后使用eval使用正则表达式检查JSON字符串。为什么不使用eval+dataString+这有什么安全问题。我每次都用这种方法,而且效果很好,我找到了解决办法。似乎当服务器以text/json的内容类型响应时,jQuery会自动将字符串解析为JSO对象,因此我尝试两次解析都是徒劳的——因此出现了错误。您确实大错特错。不需要密钥,它完全有效,见David的评论。没有列表。有数组和对象。虽然您可以拥有一个对象数组,但没有什么可以阻止您拥有一个数组。Thx!你在我重播的时候发表了你的评论——我后来看到了。事实上,这很明显——我不知道我的想法是什么。