【发布时间】:2020-06-22 19:55:29
【问题描述】:
我有一个来自 Google Geocoding API 的以下响应字符串,存储在 SQL Server 数据库中:
{
"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 个元素,因此我需要在数组中获取类型包含城市的 administrative_area_level_1 的元素,这在逻辑上应该是这样的:
JSON_QUERY([Json], '$.results[0].address_components<where types = administrative_area_level_1>.short_name')
【问题讨论】:
标签: sql json sql-server json-query json-value