簡體   English   中英

如何在JavaScript中遍歷JSON數組?

[英]How do i iterate through JSON array in javascript?

我有來自其余格式的json數據,格式如下:

{
"status_code": 200, 
"data": {
"units": -1, 
"unit_reference_ts": null,
"tz_offset": -4,
"unit": "day", 
"countries": [{"country": "IN", "clicks": 12}]}, 
"status_txt": "OK"
}

我想訪問國家部分,並需要以類似以下格式生成數據

{"IN":12, ......}

我不知道如何通過javascript,JSON數組進行迭代? 請幫助我混淆最好和最容易在整個JSON中使用的方法之間的混淆嗎?

我嘗試了這個:

 $.each(response.countries, function(key, value) {
 console.log(value.country + ": " + value.clicks);});

但是它向我顯示類型錯誤e未定義...

確保首先解析JSON( var data = JSON.parse(json) ),然后使用簡單的循環:

var obj = {};
for (var i = 0, l = data.data.countries.length; i < l; i++) {
    var tmp = data.data.countries[i];
    obj[tmp.country] = tmp.clicks
}

console.log(obj); // { IN: 12, UK: 123 }

DEMO

由於(從您的編輯中)您正在使用jQuery,因此您可能需要執行此操作(請注意,如果使用AJAX方法之一檢索JSON數據,則jQuery會自動解析JSON數據):

var obj = {};
$.each(response.data.countries, function(key, value) {
    obj[value.country] = value.clicks;
});

如果要使用字符串而不是對象,則只需JSON.stringify obj:

var json = JSON.stringify(obj);

DEMO

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM