Sql server 将SQL server表数据转换为JSON

Sql server 将SQL server表数据转换为JSON,sql-server,json,Sql Server,Json,我的sql server中存储了一个数据表,我想将其转换为JSON,以便从JSON数据(使用D3JS)创建图表。但现在我只想将SQLServer数据转换为JSON。 假设我的表名是salary(EmpName,salary),现在我的查询是如何将此数据表解析为JSON以供进一步使用。SQL Server 2016支持程序员使用JSON,使用JSON自动和JSON路径语法 CTP3的发布将提供从JSON到SQL数据的SQL支持,因为JSON已在SQL Server 2016中提供。CTP2请参见M

我的sql server中存储了一个数据表,我想将其转换为JSON,以便从JSON数据(使用D3JS)创建图表。但现在我只想将SQLServer数据转换为JSON。
假设我的表名是salary(EmpName,salary),现在我的查询是如何将此数据表解析为JSON以供进一步使用。

SQL Server 2016支持程序员使用JSON,使用JSON自动和JSON路径语法
CTP3的发布将提供从JSON到SQL数据的SQL支持,因为JSON已在SQL Server 2016中提供。CTP2请参见MSSQL Server 2016的一个顶级功能是内置JSON支持。现在,您可以在select语句中使用FOR JSON编写一个非常简单的查询。检查下面的示例

将路径模式与FOR JSON子句一起使用

选择SalesOrderNumber作为“Order.Number”,
OrderDate为“Order.Date”,
单价为‘产品价格’,
订单数量为“产品数量”
来自Sales.SalesOrderHeader H
内部联接Sales.SalesOrderDetail D
在H.SalesOrderID=D.SalesOrderID上
对于JSON路径
具有路径模式的JSON的输出

[
{
“命令”:{
“编号”:“SO43659”,
“日期”:“2011-05-31T00:00:00”
},
“产品”:{
“价格”:2024.9940,
“数量”:1
}
},
{
“订单”:{“编号”:“SO43659”},
“产品”:{“价格”:2024.9940}
}
]

使用MSSLQ服务器2016

select
  EmpName as empName, 
  Salary as salary,
from 
 salary
for json path, root('salaries')
返回

{"salaries":[
  {"empName":"John","salary":50000},
  {"empName":"Mary","salary":60000}
]}

如果您必须使用2016年之前的版本,那么有多种方法,我认为没有一种非常好。

您最好在您的客户端层执行此操作,而不是尝试在T-SQLI中执行此操作。我同意@AlexK。这可能通过一些可怕的select查询或一些自定义sql库来实现,但在BLL中实现这一点要明智得多。也许更多的上下文会有所帮助?您可以使用JSON库将客户机中的数据转换为JSON