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转