我从google maps api中检索json,就像这样
$http.get("https://maps.googleapis.com/maps/api/geocode/json?address="+data.SimpleProfileForm.postcode+"&sensor=false")
.success(function(data){
console.log(data);
user.location = data.results.0.address_components.3.long_name;
})
.error(function(data){
console.log("there was an error with the postcode API");
console.log(data);
})
但是我在这一行得到错误的意外号码:
user.location = data.results.0.address_components.3.long_name;
如果我删除我得到的数字'无法读取属性“long_name”of undefined'。
我如何访问阵列中的数据?提前致谢, 克里斯
答案 0 :(得分:4)
您不能使用点号表示索引数组。
您的代码行应该是:
user.location = data.results[0].address_components[3].long_name;
答案 1 :(得分:0)
在迭代JSON时,您无法直接引用#键。
ex:getJSONitem = parent.221.grandchild.0
为了解决这个问题,您可以通过索引将键作为字符串引用,因为JSON键都是字符串。
ex:getJSONitem = parent['221'].grandchild['0']
你没有有来使它们成为字符串,但我认为它是更安全的做法,以防它们包含随机字符,如" / -_"那种......