首页 > 解决方案 > 统计json对象的记录

问题描述

我正在尝试计算 JSON 对象中的记录。得到不正确的计数。

代码

var jsonObject = {"d":"[{\"Country\":\"\",\"CountryCode\":\"\",\"Location\":\"\",\"Group\":\"\",\"RoomMailId\":\"ExchangeRoomTest1@demo.com\",\"Description\":\"\",\"Telephone\":\"\",\"DisplayName\":\"ExchangeRoomTest1\",\"CondecoRoomId\":0,\"CondecoRoomName\":\"\",\"IsMapped\":false,\"LastSyncTimeLocal\":\"\"},{\"Country\":\"\",\"CountryCode\":\"\",\"Location\":\"\",\"Group\":\"\",\"RoomMailId\":\"ExchangeRoomTest2@demo.com\",\"Description\":\"\",\"Telephone\":\"\",\"DisplayName\":\"ExchangeRoomTest2\",\"CondecoRoomId\":0,\"CondecoRoomName\":\"\",\"IsMapped\":false,\"LastSyncTimeLocal\":\"\"}]"};
var keyCount  = Object.keys(jsonObject.d).length
document.write(keyCount);

输出

489

预期产出

2

标签: javascriptjson

解决方案


d是一个字符串,而不是一个已解析的数组。

var keyCount  = Object.keys(JSON.parse(jsonObject.d)).length
document.write(keyCount);

此外,远离document.write()- 它是过时的,在现代 JavaScript 中几乎没有用处。


推荐阅读