我有以下声明,我正在尝试在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字符串(没有转义字符)。
由于
答案 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
的常见问题解答