【发布时间】:2014-01-13 10:23:40
【问题描述】:
是的,有很多关于这个的帖子。但我的怀疑有点不同。例如,我有以下数组
var dictionary = {
"12Jan2013": [{
"id": "0",
"name": "ABC"
}, {
"id": "1",
"name": "DEF"
}],
"13Jan2013": [{
"id": "0",
"name": "PQR"
}, {
"id": "1",
"name": "xyz"
}]
};
同一站点上有相同的帖子但在字典中 json 数组键是动态的。这是日期,即 12Jan2013。它可以是任何日期。它不是静态的。我已经搜索过为此,但没有得到解决方案。
如何迭代这样一个 json 数组?
AND 如何以上面显示的相同格式打印 json 数组?
编辑
这是我的真实代码。我在下面的代码中显示了一条评论,我想iterate 数据,即jsonData var in getWeatherDataForCities 回调
var arrAllrecords = [];
var arrCityrecordForADay = [];
function getWeatherDataForCities(cityArray, callback){
var toDaysTimestamp = Math.round((new Date()).getTime() / 1000) - (24*60*60);
for(var i in cityArray){
for(var j=1; j<=1; j++){
var jsonurl = "http://api.openweathermap.org/data/2.5/history/city?q="+cityArray[i]+"&dt="+toDaysTimestamp;
$.ajax({
url: jsonurl,
dataType: "jsonp",
mimeType: "textPlain",
crossDomain: true,
contentType: "application/json; charset=utf-8",
success: function(data){
var arrCityRecordForDay = [];
/*arrCityrecordForADay.push(data.list[0].city.name);
arrCityrecordForADay.push(data.list[0].weather[0].description);
arrCityrecordForADay.push(timeConverter(data.list[0].dt));
arrCityrecordForADay.push(data.list[0].main.temp);
arrCityrecordForADay.push(data.list[0].main.humidity);
arrCityrecordForADay.push(data.list[0].main.pressure)
arrCityrecordForADay.push(data.list[0].wind.speed);*/
//'{"pets":[{"name":"jack"},{"name":"john"},{"name":"joe"}]}';
arrCityRecordForDay.push(
{"cityName" : data.list[0].city.name},
{"weather" : data.list[0].weather[0].description}
);
var tempId = data.list[0].city.name+"-"+timeConverter(data.list[0].dt);
arrCityrecordForADay.push(
{tempId : arrCityRecordForDay}
);
if(((arrCityrecordForADay.length)) === cityArray.length) {
callback(arrCityrecordForADay);
}
} });
toDaysTimestamp = toDaysTimestamp - (24*60*60);
}
}
}
$(document ).ready(function() {
var cityArray = new Array();
cityArray[0] = "pune";
getWeatherDataForCities(cityArray, function(jsonData) {
// Here I want to iterate jsonData
});
});
【问题讨论】:
-
那不是 JSON 数组,那是 JS 数组对象。她们不一样。 JSON 是一种数据序列化格式。
-
我不是重复的。这里有像数据这样的常量键是动态的。我很困惑是 json 还是 Benjamin 上面所说的数组
标签: javascript json iteration