我正试图找出如何返回一个简单的JSON作为字符串:
DECLARE @T TABLE ([value] NVARCHAR(MAX))
INSERT INTO @T ([value]) VALUES ('foo')
INSERT INTO @T ([value]) VALUES ('bar')
SELECT [value]
FROM @T
FOR JSON PATH
返回的是
[{"SS":"foo"},{"SS":"bar"}]
我想要的是
"[{'SS:'foo'},{'SS':'bar'}]"
你想要的不是有效的JSON,它是一个引号字符串与JSON类似的值。但是,您可以使用REPLACE
和连接简单地做到这一点:
SELECT CONCAT('"',REPLACE((SELECT [value] FROM @T FOR JSON PATH),'"',''''),'"');