数组键将是动态的,但只有两个数组项。例如,键start_location.A
的值为London
,键start_location.F
的值为Manchester
我可以得到像这样的值
var start_location_A = result.routes[0].legs[c].steps[b].start_location.A;
var start_location_F = result.routes[0].legs[c].steps[b].start_location.F;
但A
和F
将是动态的,这意味着字母会发生变化。我如何获得第一个&无论密钥名称如何,start_location
数组中的第二项?我在下面尝试但是说 start_location.index不是函数。
var start_location_A = result.routes[0].legs[c].steps[b].start_location;
start_location_A = start_location_A.index(0);
var start_location_F = result.routes[0].legs[c].steps[b].start_location;
start_location_F = start_location_F.index(1);
我如何解决?
答案 0 :(得分:2)
你可以迭代json结构的键:试试这个:
var arr=[];
var json = result.routes[0].legs[c].steps[b].start_location;
for(var o in json){
arr.push(json[o]);
}
var start_location_A = arr[0];
var start_location_B = arr[1];
它应该给你一个想法
答案 1 :(得分:0)
如果使用命名索引,则在访问数组时,JavaScript会将数组重新定义为标准对象。
var person = [];
person["firstName"] = "John";
person["lastName"] = "Doe";
person["age"] = 46;
var x = person.length; // person.length will return 0
var y = person[0]; // person[0] will return undefined
您可以做的一件事是使用for循环迭代对象属性,如@Manish Misra建议的那样。但是,不保证您将以正确的顺序获得对象。 More Info