如何以json格式从sql获取数据

时间:2016-02-12 08:26:38

标签: c# sql json

我使用next来从sql db获取数据并在控制台中显示它(例如)

DataContextDataContext ob = new DataContextDataContext();
foreach (var emp1 in ob.DimProducts)
{
    Console.WriteLine(emp1);
}

foreach (var emp2 in ob.DimProductCategories)
{
     Console.WriteLine(emp2);
}

foreach(var emp3 in ob.DimProductSubcategories)
{
    Console.WriteLine(emp3);
}

enter image description here

如何将数据转换为Json?

3 个答案:

答案 0 :(得分:4)

您应该使用Json.NET库和JsonConvert.SerializeObject()

DataContextDataContext ob = new DataContextDataContext();
foreach (var emp1 in ob.DimProducts)
{
    Console.WriteLine(JsonConvert.SerializeObject(emp1, Formatting.Indented));
}
foreach (var emp2 in ob.DimProductCategories)
{
     string jsonEmp2 = JsonConvert.SerializeObject(emp2, Formatting.Indented)
     Console.WriteLine(jsonEmp2);
}

documentation中有很多例子。

您也可以从NuGet控制台安装Json.NET:

PM> Install-Package Newtonsoft.Json

答案 1 :(得分:1)

JSON数据(SQL Server) - 我想你可以在查询中使用这样的东西 例如:

"SELECT name, surname FROM emp FOR JSON AUTO"

结果将如下:

    [ 
   { "name": "John" },
   { "name": "Jane", "surname": "Doe" }
]

另一个示例查询是

  SELECT * FROM OPENJSON(@json, N'lax $.info')

答案 2 :(得分:1)

如果您正在使用Azure或Sql Server 2016,则可以通过在SQL查询末尾添加FOR JSON PATH直接从sql server获取JSON。