【问题标题】:How to get json output in nvarchar, in SQL Server 2016如何在 SQL Server 2016 中以 nvarchar 获取 json 输出
【发布时间】:2017-08-11 22:08:46
【问题描述】:

我使用此查询将数据转换为 JSON

SELECT *FROM tbl_subject FOR JSON AUTO

我收到的回复是

当我点击响应时,它作为 XML 文件打开

如何将此 xml 更改为 nvarchar 数据类型

【问题讨论】:

    标签: json sql-server-2016


    【解决方案1】:

    首先,在 SQL Server 中,JSON 本身并不是一种数据类型(XML 是),而只是一种字符串表示形式。

    您看到的是由于 SQL Server Management Studio 在作为结果集返回时如何处理 JSON。它不是 xml,SSMS 只是拍打.xml 文件类型,并美化结果。如果您要更改返回结果的方式(工具|选项|查询结果|SQL Server|常规),您会看到如下所示:

    JSON_F52E2B61-18A1-11d1-B105-00805F49916B
    ---------------------------------------------------------- 
    [{"RowID":1,"UniversityID":1,"AcademicID":4,"CourseID":1}]
    

    但这正是 SSMS 返回结果的方式。如果您要从应用程序执行语句,结果将是字符串数据类型。

    您还可以将执行查询的方式更改为:

    DECLARE @nres nvarchar(max) = (SELECT * FROM dbo.tb_Subject FOR JSON AUTO)
    SELECT @nres
    

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-25
      • 2023-04-02
      • 2016-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多