检索并使用变量中“FOR JSON”查询的输出

时间:2016-10-29 09:52:39

标签: sql-server json

我知道输出格式化为JSON的查询的选项,如以下MSDN页面中的示例:

SELECT name, surname  
FROM emp  
FOR JSON AUTO 

有很多关于如何使用应用程序生成的json的示例,但我的问题是,如何将生成的json存储在varchar变量中,假设存储在另一个表中?

2 个答案:

答案 0 :(得分:3)

DECLARE @Json nvarchar(MAX) = (
    SELECT name, surname  
    FROM emp  
    FOR JSON AUTO
);

Dan Guzman在MSDN论坛上用这个简洁的解决方案回复,这也与@ FDavidov在他上次评论中的建议相对应

答案 1 :(得分:0)

JSON实际上是一个字符串。是什么让这个字符串成为JSON是两件事的组合:

  1. 您将其称为JSON(使用您环境中的正确功能),
  2. 它在正确的位置包含正确的分隔符,以符合JSON的规则。
  3. 因此,如果您想在变量中存储JSON,只需将变量分配给源字符串,并且只要您想对变量进行操作,只需记住它是一个JSON。 / p>