[
{"type":"1","text":"success"},
{"yid":"167","uid":"15","lat":"13.0501383","lng":"77.597593","time":"2014-10-20 20:25:27","dist":1.95},
{"yid":"204","uid":"32","lat":"13.0412773","lng":"77.6133699","time":"2014-11-17 03:15:24","dist":0.06}
]
这是我在php脚本中的json响应。我需要在javascript中以多维数组存储或推送它。我能够使用以下代码成功解码json响应。
var myLatLng = [];
var myYid = [];
post_data = {'userLat':position.coords.latitude, 'userLng':position.coords.longitude};
$.post('leo.php', post_data, function(response){
$.each(response, function(index, element) {
if(element.lat!=undefined || element.lng!=undefined)
{
myLatLng.push(element.lat+', '+element.lng);
myYid.push(element.yid);
}
});
});
我还需要在不同的函数中全局使用这些值。
答案 0 :(得分:0)
首先,您需要检查undefined是否为“AND”条件,因为两者都必须定义,因为您正在访问它们并将它们分配给“then”中的变量“条款。
当你说“多维数组”时,如果它只有数字索引,你可以在javascript中有一个多维数组。如果你想拥有键值对,它将是一个对象而不是一个数组。 如果这对你来说足够好,那么每次只需推送一个数组,而不是将单个值推送到两个独立的数组:
var multiDimArray = [];
post_data = {'userLat':position.coords.latitude, 'userLng':position.coords.longitude};
$.post('leo.php', post_data, function(response){
$.each(response, function(index, element) {
if(element.lat!==undefined && element.lng!==undefined)
{
multiDimArray.push(new Array(element.lat+', '+element.lng,element.yid));
}
});
});