Select Json 字符串 Select

Select Json string with Select

我尝试在 Sql Server 2016 CTP 3 中执行以下语句:

DECLARE @json nvarchar(max)

set @json = '[ 
   { "name": "John" },
   { "name": "Jane", "surname": "Doe" }
]'

select
    'othervalue' as o,
    @json as j
for json path

问题是当我执行这些语句时,我得到以下 Json 字符串(带有转义字符):

[{"o":"othervalue","j":"[ \r\n   { \"name\": \"John\" },\r\n   { \"name\": \"Jane\", \"surname\": \"Doe\" }\r\n]"}]

我的问题是 select 带有 select 语句的 Json 字符串如何正确(没有转义字符)。

谢谢

用JSON_QUERY包装@json变量:

select
     'othervalue' as o,
      JSON_QUERY(@json) as j
for json path

查看 MSDN 上的常见问题 https://msdn.microsoft.com/en-us/library/mt631706.aspx