我想在我的 sql-server 中解析一个 json-array。我想使用OPENJSON
withWITH
将特定值解析为列。如何获取每个数组项的索引?
JSON_VALUE
我知道,无论有没有,这都可以正常工作WITH
:
DECLARE @json NVARCHAR(MAX) = '[{"name":"Alpha"},{"name":"Bravo"},{"name":"Charlie"}]'
SELECT [key], JSON_VALUE(value, '$.name')
FROM OPENJSON(@json)
-- key | value
----------------------------------
-- 0 | Alpha
-- 1 | Bravo
-- 2 | Charlie
但是当我添加时,WITH
我似乎无法再访问key
了。
SELECT [key], name
FROM OPENJSON(@json)
WITH (
[key] INT, -- does not work
name NVARCHAR(MAX)
)
-- key | name
----------------------------------
-- NULL | Alpha
-- NULL | Bravo
-- NULL | Charlie