我已经阅读了有关在 javascript 中访问 json 数组的其他问题,但对我的情况没有任何帮助。 我在 jquery ajax 调用中收到以下 json。
{"jList":"[{\"added_by\":\"Ani\",\"description\":\"example description.\",\"start_date
\":\"2014-10-10\",\"mark\":255,\"id\":975},{\"added_by\":\"Ani\",\"description
\":\"example description..\",\"start_date\":\"2014-10-10\",\"mark\":255,\"id\":980
}]"}
接收方式-
$.getJSON("url",
{var : Val},
function(data){
here...
我想要的只是计算这个数组中的 JSON 对象。在上面的情况下,我想要长度输出为 2,但我没有得到它。 我尝试过以下事情-
data.jList.length
-- <给出 200 之类的东西作为输出Object.keys(data).length
-- <给出 200 之类的东西作为输出Object.keys(data['jList']).length
-- < 给出 1 作为输出
如何获得 2 作为上述数组的长度输出?
最佳答案
该对象的 jList
属性只是一个字符串,因此您需要使用 JSON.parse()
将其转换为 Javascript 对象。
// Dummy of your "data" variable
var data = {"jList":"[{\"added_by\":\"Ani\",\"description\":\"example description.\",\"start_date \":\"2014-10-10\",\"mark\":255,\"id\":975},{\"added_by\":\"Ani\",\"description \":\"example description..\",\"start_date\":\"2014-10-10\",\"mark\":255,\"id\":980 }]"};
var myList = JSON.parse(data.jList);
alert(myList.length); // Alerts "2"
关于javascript - 无法在javascript中获取JSON数组的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31898938/