首页 > 解决方案 > 如何从没有键的 JSON 字符串中提取值?

问题描述

我在其中一个表中有一个 JSON 列,而 JSON 列没有键或属性,只有值。

我尝试使用JSON_Queryand解析列JSON_Value,但这两个函数仅在 JSON 字符串有键时才有效,但在我的情况下,JSON 字符串没有键。

那么如何在 SQL Server 中解析从顶部表到底部表的列,如下图所示?

在此处输入图像描述

标签: sqljsonsql-servertsql

解决方案


请试试这个:

DECLARE @Table TABLE (ID INT, [JSONColumn] NVARCHAR(MAX));
INSERT INTO @Table(ID,[JSONColumn])VALUES
     (151616,'["B0107C57WO","B066EYU4IY"]')
    ,(151617,'["B0088MD64S"]')
;

SELECT t.ID,j.[value]
FROM @Table t
CROSS APPLY OPENJSON(t.JSONColumn) j
;

推荐阅读