【发布时间】:2017-05-08 09:48:12
【问题描述】:
我正在从 Google Geocoding API 获取 JSON 响应
它的格式是这样的:
{
"results" : [
{
"address_components" : [
{
"long_name" : "Department of Information science and engineering",
"short_name" : "Department of Information science and engineering",
"types" : [ "premise" ]
},
{
"long_name" : "Gokul",
"short_name" : "Gokul",
"types" : [ "political", "sublocality", "sublocality_level_1" ]
},
{
"long_name" : "Hubballi",
"short_name" : "Hubballi",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Dharwad",
"short_name" : "Dharwad",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "Karnataka",
"short_name" : "KA",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "India",
"short_name" : "IN",
"types" : [ "country", "political" ]
},
{
"long_name" : "580030",
"short_name" : "580030",
"types" : [ "postal_code" ]
}
现在我可以使用
获取 JavaScript 中的属性"Postal Code:" + json.results[0].address_components[6].long_name
但根据我的研究,我发现address_components[6] 可能并不总是相同的数据。所以我想根据类型获取值,这样我总能得到正确的数据。
现在我找到了一种使用 php 的方法:
foreach ($jsondata["results"] as $result) {
foreach ($result["address_components"] as $address) {
if (in_array("sublocality", $address["types"])) {
$city = $address["long_name"];
}
}
}
但我不知道如何遍历每个结果并根据 JavaScript/JQuery 中的类型获取值。
谁能告诉我它是怎么做的?
【问题讨论】:
标签: javascript jquery json google-maps foreach