我有一个来自存储在 SQL Server 数据库中的 Google Geocoding API 的以下响应字符串:
{
"results":[
{
"address_components":[
{
"long_name":"Khalifa City",
"short_name":"Khalifa City",
"types":[
"political",
"sublocality",
"sublocality_level_1"
]
},
{
"long_name":"Abu Dhabi",
"short_name":"Abu Dhabi",
"types":[
"locality",
"political"
]
},
{
"long_name":"Abu Dhabi",
"short_name":"Abu Dhabi",
"types":[
"administrative_area_level_1",
"political"
]
},
{
"long_name":"United Arab Emirates",
"short_name":"AE",
"types":[
"country",
"political"
]
}
],
...
}
],
"status":"OK"
}
我的任务是从上面的 JSON 中提取 Country 和 City。我检查了数据,似乎 Geocoding API 并不总是在 address_component 节点中返回 4 个元素,因此我需要在数组中获取类型包含城市管理区域级别 1 的元素,例如,逻辑上应该是这样的:
JSON_QUERY([Json], '$.results[0].address_components<where types = administrative_area_level_1>.short_name')