如何获得这个JSON结构?在纯JS或JQuery中

时间:2016-01-23 14:08:28

标签: javascript jquery json object

在json响应的下面部分,我如何获得行对象中的对象,我需要为所有id和其他属性做循环。 ,它是一个数组,所以active_chats.rows [1] .id不起作用。提前感谢您的回答

 {
"active_chats":{
"rows":{
"2":{
"id":"2",
"nick":"bart",
"status":"1",
"time":"1453463784",
"user_id":"2",
"hash":"183c12afef48ea9942e5c0a7a263ef441039d832",
"ip":"::1",
"dep_id":"2",
"support_informed":"1",
"has_unread_messages":"1",
"last_user_msg_time":"1453476440",
"last_msg_id":"11",
"wait_time":"5171",
"user_tz_identifier":"Europe/Paris",
"nc_cb_executed":"1",
"user_closed_ts":"1453470674",
"department_name":"ECODEMO"
},
"3":{
"id":"3",
"nick":"robert",
"status":"1",
"time":"1453470058",
"user_id":"2",
"hash":"0fae69094667e452b5401552541602d5c2bd73ef",
"ip":"127.0.0.1",
"dep_id":"2",
"user_status":"1",
"support_informed":"1",
"user_typing":"1453479978",
"user_typing_txt":"Gość opuścił chat!",
"last_msg_id":"10",
"wait_time":"3285",
"user_tz_identifier":"Europe/Paris",
"nc_cb_executed":"1",
"user_closed_ts":"1453479983",
"unanswered_chat":"1",
"department_name":"ECODEMO"
}
},
"size":2

2 个答案:

答案 0 :(得分:1)

只做

for (var key in p) {
    if (p.hasOwnProperty(key)) {
    console.info(key + " => " + p[key]);
    }
}

其中p是你的json响应对象

在这里做了一些测试,你的json无效..但如果修复了:

for(var row in response.active_chats.rows)
    {
    for (var key in response.active_chats.rows[row]) {
        console.log(key + " => " + response.active_chats.rows[row][key]);
    }
}

fiddle example(打印到控制台)

应该做的伎俩

答案 1 :(得分:0)

要访问您必须执行的ID:

var number = 2
var idVal = obj.active_chats.rows[number].id; // idVal = 2

这里obj是你保存JSON的任何变量。循环遍历active_chats和行的长度将帮助你逐步执行每个值。

此外,您可以将JSON投放到此网站上的文本框中,以更好地了解正在发生的事情:http://jsbeautifier.org