查询结果为json会产生意外结果

时间:2019-02-27 14:27:09

标签: sql sql-server

我当前的请求是

SELECT [JSON] = (SELECT [Name] FROM OPENJSON(MyJsonColumn) WITH ([Name] nvarchar(50) '$.Name') for json path) from MyTable

问题是它用[{"Name":"Value"}]填充了结果中的JSON列,但我希望它是{"Name":"Value"}。为什么会发生这种情况,我该怎么办才能解决问题?

我尝试使用$[0]从此查询的结果中提取JSON_VALUE,但它返回了我NULL

1 个答案:

答案 0 :(得分:0)

我正在寻找的查询是

SELECT [JSON] = (SELECT [Name] FROM OPENJSON(MyJsonColumn) WITH ([Name] nvarchar(50) '$.Name') for json path, WITHOUT_ARRAY_WRAPPER) from MyTable

Shnugo在评论我的问题时,这里有更多关于WITHOUT_ARRAY_WRAPPER的信息