我正在处理一个相当复杂的 JSON 数组,如下所示。我正在尝试创建一个包含访问次数的 Country 对象数组。这是数组的示例:
{
"data":[
{
"period":"Month",
"start_date":"2012-06",
"end_date":"2012-07",
"attributes":{
},
"measures":{
"Visits":1000000
},
"SubRows":[
{
"Unknown":{
"measures":{
"Visits":1000
},
"SubRows":null
},
"**":{
"measures":{
"Visits":1000
},
"SubRows":null
},
"Afghanistan":{
"measures":{
"Visits":1000
},
"SubRows":null
},
"Aland Islands":{
"measures":{
"Visits":1000
},
"SubRows":null
},
"Albania":{
"measures":{
"Visits":100
},
"SubRows":null
},
}
]
}
]
}
我正在使用 data[0].SubRows[0]
来获取国家/地区对象的数组,但现在我很困惑如何转到下面的一个,因为每个子对象都是命名不同?我的预期输出是针对 Google Visualization API 的,如下所示:
var data = google.visualization.arrayToDataTable([
['Country', '% Visits'],
['United Kingdom', 1000],
['United States', 1000],
['France', 1000],
['Australia', 1000],
]);
最佳答案
用于...在声明中:
var Country = JSONObject['data']['SubRows'];
var Data = {};
for(name in Country)
{
Data[name] = Country[name]['measures']['Visits'];
}
应该很容易满足您的需求。
关于javascript - 复杂的 JS 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11537205/