我有一个来自存储在sql server数据库中的google地理编码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中提取国家和城市。我检查了数据,似乎地理编码api并不总是在address\u component节点中返回4个元素,因此我需要在数组中获取元素,其中类型包含城市的administrative\u area\u level\u 1,例如,逻辑上应该是这样的:
JSON_QUERY([Json], '$.results[0].address_components<where types = administrative_area_level_1>.short_name')
2条答案
按热度按时间yebdmbv41#
我过去就是这样处理这个问题的。您可以在ssms中运行:
退货
vvppvyoh2#
如果我理解了这个问题,而您想要解析输入json(即使
$.results
json数组有多个项),以下方法可能会有所帮助:json码:
声明:
输出: