如何计算嵌套 JSON 的长度

How to calculate length of nested JSON?

本文关键字:JSON 嵌套 何计算 计算      更新时间:2023-09-26

在这里,我将JSON加载到变量中。但是我找不到嵌套 JSON 的长度。

var JVarible = [{"key":{"kind":"Comment","id":5992578889547776},"categoryId":0,"userName":"Shana Deepak","userId":"cpshana","comment":"hi.fghfghfgh ","createDate":"Sep 16, 2013 7:07:36 AM","url":"https://graph.facebook.com/100000840303512/picture?type'u003dsmall","networkType":"facebook","status":1,"nestmsgs":{"value":"[{'"key'":{'"kind'":'"Nestmsg'",'"id'":5914238686068736},'"commentId'":5992578889547776,'"userName'":'"Shana Deepak'",'"userId'":'"cpshana'",'"message'":'"dfgdfgfdg'",'"createDate'":'"Sep 16, 2013 7:22:01 AM'",'"url'":'"https://graph.facebook.com/100000840303512/picture?type''u003dsmall'",'"networkType'":'"facebook'",'"status'":0},{'"key'":{'"kind'":'"Nestmsg'",'"id'":5281469744283648},'"commentId'":5992578889547776,'"userName'":'"Shana Deepak'",'"userId'":'"cpshana'",'"message'":'"gfdgdfgfd'",'"createDate'":'"Sep 16, 2013 7:12:25 AM'",'"url'":'"https://graph.facebook.com/100000840303512/picture?type''u003dsmall'",'"networkType'":'"facebook'",'"status'":0}]"}}];

var i=0;
 for (i=0; i<JVarible.length;i++)
 {
 alert(JVarible[i].['nestmsgs'].length)
}

首先,JVarible不包含 JSON。它包含一个JavaScript数组。但是该数组中的值之一确实是 JSON(包含在字符串中)。

您的问题不是很清楚,但似乎您想获取每个对象中的消息数。 nestmsgs实际上是一个具有一个属性的对象,valuevalue有一个包含 JSON 作为值的字符串。

您首先必须解析 JSON,这将生成一个数组,然后您可以确定其长度:

for (var i = 0; i < JVarible.length; i++) {
    var msgobj = JVarible[i].nestmsgs;
    msgobj.value = JSON.parse(msgobj.value);
    alert(msgobj.value.length)
}

像这样的东西?

Object.keys(JVarible[0]) //returns ["key", "categoryId", "userName", "userId", "comment", "createDate", "url", "networkType", "status", "nestmsgs"]
Object.keys(JVarible[0]).length //returns 10