使用Select选择Json字符串

时间:2016-02-26 18:58:56

标签: sql-server-2016

我有以下声明,我正在尝试在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语句的Json字符串(没有转义字符)。

由于

1 个答案:

答案 0 :(得分:1)

使用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

的常见问题解答