如何在javascript中迭代JSON数组?
我有一个来自rest的json数据,格式如下:如何在javascript中迭代JSON数组?,javascript,json,Javascript,Json,我有一个来自rest的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, ......} 我不知道如何迭
{
"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 }
如果您想要字符串而不是对象,只需JSON.stringify
obj:
var json = JSON.stringify(obj);
可能重复的是JSON,还是一个对象,有区别吗?可能重复的JSON数据通过url请求
var json = JSON.stringify(obj);