首页 > javascript json解析

javascript json解析

ajax请求会jsonArray数组后在javaScript中要怎么解析啊?
我是以下这样子做的,咋个弄不出来呢!!!

图片中的data确认返回的数据成功了,是一个jsonArray,alert(data)也可以弹出数据显示,但是从jsonData=JSON.parse(data)开始就不知道怎么执行的了,alert(jsonData.length)没有执行,使用过jsonData=eval('('+data+')');还是不行呢,就是读取不出jsonArray中的每一个键值,又不报错!
请各位大哥指点一哈子!


你dataType直接用json不就好了?

我怀疑你返回的data的并非标准json.


估计data本身不符合json格式,你可以console.log(data)打印出来,到这里解析试试:http://www.bejson.com

另外你这里用jQuery的话,可以指明数据类型为"json",因为有些IE低版本并没有JSON.parse()


1.请求的dataType应该设置为json
2.对于返回的json对象,使用$.each()方法遍历处理。【因为我看你用的是$.ajax,想必是jquery】


这是你给的JSON字符串

["{"nickname":"asdasd","ctime":"2016-06-17 11:46:40","content":"123","rtime":"","reply":""}","{"nickname":"asdasd","ctime":"2016-06-17 14:03:29","content":"中文提交","rtime":"","reply":""}","{"nickname":"asdasd","ctime":"2016-06-17 14:04:56","content":"反馈","rtime":"","reply":""}"]

然而他格式是错误的

正确的应该是
[{"nickname":"asdasd","ctime":"2016-06-17 11:46:40","content":"123","rtime":"","reply":""},{"nickname":"asdasd","ctime":"2016-06-17 14:03:29","content":"中文提交","rtime":"","reply":""},{"nickname":"asdasd","ctime":"2016-06-17 14:04:56","content":"反馈","rtime":"","reply":""}]

不知道你把所有的object都用花括号括起来是怎么回事,难道你这个其实是字符串数组?然而生成JSON的时候应该将字符串内部的引号转义才对


你返回的数据 typeof 一下 看看是什么类型的?

【热门文章】
【热门文章】