包含数值的json响应中的所有值都必须使用双引号

时间:2018-04-04 16:52:05

标签: sql json tsql sql-server-2016

尝试使用以下查询在SQL Server中以json格式从表中检索数据,

Select * from TableA for json path, root( 'table 1')

我得到了json的回复,

{  
    "TableA":[  
        {  
            "Id":34562,
            "A Id":2,
            "Name":"ZDR"
        }
    ]
}

Field" ID" &安培; " A Id"在数据库中声明为" int"

现在我需要这些值也应该在双引号内显示​​,有没有什么办法可以在SQL server 2016本身处理,要清楚所有的字段值,不论数据类型都应该用双引号括起来请做到需要满!!!

像上面的单个查询一样,iam在存储过程中有12个quires,最后当我运行存储过程时,我将得到一个json响应,其中所有的值都应该用双引号括起来。

1 个答案:

答案 0 :(得分:0)

没有"自动化"这样做的方式。您可以执行的是SELECT语句CAST数字列到文字(varcharnvarchar):

Select CAST(Id as nvarchar(10)) AS Id,
       CAST([A Id], nvarchar(10)) AS "A ID", 
       [Name]
       from TableA for json path, root( 'table 1');

希望这有帮助!