Я пытаюсь проанализировать массивы JSON на сервере SQL в табличной форме. Вот строка данных
CREATE TABLE #JSONData
(
[gca] NVARCHAR(MAX)
,[User] INT
);
INSERT INTO #JSONData
VALUES ('
{"items":[{"i":"image1",
"url":"url-1",
"name":"Product 1",
"quantity":"1",
"sku":"112233",
"subtotal":"$24.99"},
{"i":image3",
"url":"url-3",
"name":"Product 3",
"quantity":"1",
"sku":"112255",
"subtotal":"$7.99"}]}
', 1)
Я использую Microsoft SQL Server 2016
Я пытаюсь использовать IS JSONфункция, чтобы проверить, является ли она допустимой строкой JSON - положительная, но я получаю нулевой вывод при использовании функции JSON _VALUE
SELECT [User],
[gca],
ISJSON([gca]) AS [ISJSON],
JSON_VALUE([gca], '$.i') AS [i],
JSON_VALUE([gca], '$.name') AS [Product],
JSON_VALUE([gca], '$.quantity') AS [Quantity],
JSON_VALUE ([gca], '$.subtotal') AS [subtotal],
[User]
FROM #JSONData