[英]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 }
由于(从您的编辑中)您正在使用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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.