1

ここでは、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)

}
4

2 に答える 2

2

まず、JVaribleJSON が含まれていません。JavaScript配列が含まれています。しかし、その配列内の値の 1 つは実際には JSON (文字列に含まれています) です。

あなたの質問はあまり明確ではありませんが、各オブジェクト内のメッセージ数を取得したいようです。nestmsgsは、実際には 1 つのプロパティを持つオブジェクトvalueです。value値として 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)
}
于 2013-09-16T08:24:08.290 に答える
1

このようなもの?

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

Object.keys(JVarible[0]).length //returns 10
于 2013-09-16T08:18:29.970 に答える