从JSON中获取密钥名
如何从以下JSON中获取密钥名列表?(A1、A2)从JSON中获取密钥名,json,sql-server,tsql,sql-server-2016,sql-server-2017,Json,Sql Server,Tsql,Sql Server 2016,Sql Server 2017,如何从以下JSON中获取密钥名列表?(A1、A2) 下一个语句应该给出键名Model是一个JSON数组,因此您需要一个附加的APPLY操作符和带有默认模式的OPENJSON()调用,该调用返回带有列key、value和type的表: Json数据: DECLARE @json NVARCHAR(MAX); SET @json = '{ "Model": [{ "A1": { "read": [ "jcc",
下一个语句应该给出键名
Model
是一个JSON
数组,因此您需要一个附加的APPLY
操作符和带有默认模式的OPENJSON()
调用,该调用返回带有列key
、value
和type
的表:
Json数据:
DECLARE @json NVARCHAR(MAX);
SET @json = '{
"Model": [{
"A1": {
"read": [
"jcc",
"rdbro"
],
"write": [
"jcc"
]
},
"A2": {
"read": [
"jcc",
"rdbro",
"rdbrw"
],
"write": [
"foo"
]
}
}]
}'
声明:
SELECT j2.[key]
FROM OPENJSON(@json, '$.Model') j1
CROSS APPLY OPENJSON(j1.[value]) j2
输出:
----
key
----
A1
A2
----
key
----
A1
A2