如何获取json数据的个数

var myObject = [{'name':'Kasun', 'address':'columbo','age': '29'},{'name':'Kasun', 'address':'columbo','age': '29'}];            
var count = Object.keys(myObject).length;
console.log(count);

输出的count是2.

可是当改成:

var count = Object.keys(data).length;           //data是ajax传到前端的json数据

结果count就变成了字符的个数  而不是对象的个数??????

 

JSON.parse将JSON字符串转换成JSON对象即可。

1、Object.keys是收集对象的key作为一个数组,myObject本身就是一个数组,那你这一步有什么意义?

2、根据你的描述,这个返回的本身就是一个json字符串,你还转成字符串,除了JSON.stringify还有个JSON.parse了解下,将json字符串转为对象,所以可以直接JSON.parse(data).length,这个结果就是你想要的count

这是前端接收到的ajax的data。正常来说count应该是2才对,可是输出的count为113  是字符的个数。

var str = JSON.stringify(data);
 console.log(str);
var count = str.split('iid');
console.log(count.length-1);

 

我能想到的是将json数据转换成字符串,在通过split寻找字符串中iid的个数...

有没有更好的方法?

类型问题,ajax返回的是string,应该用JSON.stringify转