Преобразование набора данных в JSON с использованием .NET 3.5 в C #

Я искал простой способ преобразования набора данных из базы данных PostgreSQL в JSON для использования в проекте, который я строю.

Я впервые использую JSON, и мне было очень сложно найти простой способ сделать это. В настоящее время я использую StringBuilder для создания строки JSON из информации в наборе данных, но я слышал, что это можно сделать очень просто с помощью .NET 3.5 с использованием System.Runtime.Serializationпространства имен, хотя мне еще предстоит найти простой статья или блог о том, как это делается! Какой самый простой способ сделать это?

10.12.2008 11:59:59
4 ОТВЕТА

Используйте Newtonsofts Json.Net и ознакомьтесь с сериализацией JSON DataTable в JSON.NET и JavaScriptSerializer, где он используется для создания преобразователя DataSet-to-JSON.

6
1.02.2015 16:49:45

Возможно, вы слышали о пространстве имен system.runtime.serialization.json в недавно анонсированной .NET Framework 4.0 .

0
1.02.2015 16:50:33
Я попытался использовать пространство имен serialization.json, но безрезультатно ... Кажется, что примеров использования этого не так много, и JavaScriptSerializer и DataContractJsonSerializer выводят XML
Newbie 10.12.2008 14:56:26
public static string GetJSONString(DataTable Dt)
{
    string[] StrDc = new string[Dt.Columns.Count];
    string HeadStr = string.Empty;

    for (int i = 0; i < Dt.Columns.Count; i++)
    {
        StrDc[i] = Dt.Columns[i].Caption;
        HeadStr += "\"" + StrDc[i] + "\" : \"" + StrDc[i] + i.ToString() + "¾" + "\",";
    }

    HeadStr = HeadStr.Substring(0, HeadStr.Length - 1);

    StringBuilder Sb = new StringBuilder();
    Sb.Append("{\"" + Dt.TableName + "\" : [");

    for (int i = 0; i < Dt.Rows.Count; i++)
    {
        string TempStr = HeadStr;
        Sb.Append("{");

        for (int j = 0; j < Dt.Columns.Count; j++)
        {
            TempStr = TempStr.Replace(Dt.Columns[j] + j.ToString() + "¾", Dt.Rows[i][j].ToString());
        }
        Sb.Append(TempStr + "},");
    }

    Sb = new StringBuilder(Sb.ToString().Substring(0, Sb.ToString().Length - 1));
    Sb.Append("]}");

    return Sb.ToString();
}
0
1.02.2015 16:51:48
var JObject = eval ('(' + JSONString + ');'); for (var i = 0; i <JObject .Employees.length; i ++) {var val1 = JObject.Employees [i] .EmployeeID; var val2 = JObject.Employees [i] .NationalIDNumber; var val3 = JObject.Employees [i] .Title; var val4 = JObject.Employees [i] .BirthDate; var val5 = JObject .Employees [i] .HireDate; }
DineshHona 20.04.2011 07:55:20

Для других, смотрящих на эту тему:

Вот самый простой способ преобразовать набор данных в массив JSON, как json_encode( PHP ) делает с ASP.Net:

using Newtonsoft.Json;

public static string ds2json(DataSet ds) {
    return JsonConvert.SerializeObject(ds, Formatting.Indented);
}
4
2.02.2015 15:30:34