2008-12-10 2 views
6

Я искал простой способ преобразования набора данных из базы данных в JSON для использования в проекте, который я создаю.Преобразование набора данных в JSON с использованием .NET 3.5 в C#

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

ответ

0

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

+0

У меня есть попробовал использовать пространство имен serialization.json, но безрезультатно ... Там, похоже, много примеров того, как его использовать, а JavaScriptSerializer и DataContractJsonSerializer выводят XML – 2008-12-10 14:56:26

0
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

var JObject = eval ('(' + JSONString + ') ; '); для (var i = 0; i DineshHona 2011-04-20 07:55:20

4

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

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

using Newtonsoft.Json; 

public static string ds2json(DataSet ds) { 
    return JsonConvert.SerializeObject(ds, Formatting.Indented); 
}