在for语句中使用parseJSON数据?

时间:2015-07-06 00:03:20

标签: javascript jquery json var

我为我缺乏知识而道歉,并且很可能对我使用jQuery的问题做出了不好的解释。我不是jQuery的wiz,但我想在我的谷歌地图上有多个标记。

这是我正在使用的代码,

var locations_str = php_args.locations;
var locations = $.parseJSON(locations_str);

alert(locations_str);

它警告以下内容,

[{"title":"Rons Lounge","latitude":"53.372337","longitude":"0.011161"},{"title":"Early Keeps","latitude":"52.260010","longitude":"-1.172204"},{"title":"The Shed","latitude":"50.731153","longitude":"-1.854248"}

这很好,但是在脚本上我需要使用'for'语句,所以它从parseJSON输出,

var markers = [
    ['Rons Lounge', 53.372337,0.011161],
    ['Early Keeps', 52.260010,1.172204],
    ['The Shed', 50.731153,-1.854248]
];

我几乎在那里因为我相信'for'声明与此类似,

for (var i = 0; i < locations.length; i++) {
    alert(JSON.stringify(locations[i].title));
}

显然没有警报,这是用于测试,它会警告json中每个人的头衔。

希望我明白这一点,并且非常感谢你的帮助。

三江源

2 个答案:

答案 0 :(得分:1)

var parsedObj = JSON.parse('[{"title":"Rons Lounge","latitude":"53.372337","longitude":"0.011161"},{"title":"Early Keeps","latitude":"52.260010","longitude":"-1.172204"},{"title":"The Shed","latitude":"50.731153","longitude":"-1.854248"}]');
var locationArr = [];

for (var i = 0; i < parsedObj.length; i++) {
  var temp = [];
  
  temp.push(parsedObj[i].title);
  temp.push(parsedObj[i].latitude);
  temp.push(parsedObj[i].longitude);
  
  locationArr.push(temp);
}

console.log(locationArr);

答案 1 :(得分:1)

您需要的是

var markers = [];
for (var i = 0; i < locations.length; i++) {
    var location = locations[i];
    markers.push([location.title, location.latitude, location.longitude]);
}