Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从JSON中获取密钥名_Json_Sql Server_Tsql_Sql Server 2016_Sql Server 2017 - Fatal编程技术网

从JSON中获取密钥名

从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",

如何从以下JSON中获取密钥名列表?(A1、A2)


下一个语句应该给出键名
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