Javascript 在angularjs中解析深层JSON对象
我正在使用谷歌地图API,并得到谷歌的回应。只需要获取距离“文本”值,例如57.6 mi和持续时间“文本”值,其中返回的JSON为“1小时1分钟”Javascript 在angularjs中解析深层JSON对象,javascript,json,angularjs,Javascript,Json,Angularjs,我正在使用谷歌地图API,并得到谷歌的回应。只需要获取距离“文本”值,例如57.6 mi和持续时间“文本”值,其中返回的JSON为“1小时1分钟” { “目的地地址”:[“诸如此类”], “来源地址”:[“某些地址”], “行”:[ { “要素”:[ { “距离”:{ “文本”:“57.6英里”, “价值”:92652 }, “期限”:{ “文本”:“1小时1分钟”, “价值”:3664 }, “状态”:“确定” } ] } ], “状态”:“确定” }@Claies击败了我,您可以使用数据行
{
“目的地地址”:[“诸如此类”],
“来源地址”:[“某些地址”],
“行”:[
{
“要素”:[
{
“距离”:{
“文本”:“57.6英里”,
“价值”:92652
},
“期限”:{
“文本”:“1小时1分钟”,
“价值”:3664
},
“状态”:“确定”
}
]
}
],
“状态”:“确定”
}
@Claies击败了我,您可以使用数据行[0]。元素[0]。距离。文本来获得距离
var数据={
“目的地地址”:[“诸如此类”],
“来源地址”:[“某些地址”],
“行”:[{
“要素”:[{
“距离”:{
“文本”:“57.6英里”,
“价值”:92652
},
“期限”:{
“文本”:“1小时1分钟”,
“价值”:3664
},
“状态”:“确定”
}]
}],
“状态”:“确定”
}
document.write(data.rows[0].elements[0].distance.text)
您的行中有一个数组(一个元素)。因此,您可能需要rows[0]。elements[0]。distance.text
作为同一标记,在这种语法中,data.rows[0]。elements[0]。distance.text,如果源中的“rows”是其他内容,例如“foo”,那么它将是data.foo[0]。elements[0]。distance.text,或者它是一种语法内容?是的,那么它将是data.foo[0]。elements[0].distance.text
好的,不要太迟钝,但是如果源代码中的“elements”是,比如说“bar”,那么它将是data.foo[0].bar[0].distance.text----它只是“elements”听起来像语言的一部分,但巧合的是它是一个属性名,所以这让我很反感。再次感谢你的帮助。