2008-12-10 4 views
6

je cherche un moyen simple de convertir un jeu de données à partir d'une base de données PostgreSQL à JSON pour une utilisation dans un projet que je suis bâtiment.Conversion d'un ensemble de données JSON en utilisant .NET 3.5 en C#

Ceci est ma première fois en utilisant JSON, et je l'ai trouvé vraiment difficile de trouver un moyen simple de le faire. J'utilise un StringBuilder au moment de créer une chaîne JSON à partir des informations dans l'ensemble de données, mais je l'ai entendu dire qu'il est possible de le faire très simplement avec .NET 3.5 en utilisant l'espace de noms System.Runtime.Serialization, bien que je n'ai pas encore trouver simple article ou blog sur la façon dont cela est fait! Quelle est la manière la plus simple de faire ça?

Répondre

0

Peut-être que vous avez entendu parler de l'espace de noms system.runtime.serialization.json dans le nouveau annoncé .NET Framework 4.0.

+0

Je essayé d'utiliser l'espace de noms serialization.json, mais en vain ... il semble y avoir sont de nombreux exemples sur la façon de l'utiliser et le JavaScriptSerializer et DataContractJsonSerializer restituent XML –

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 + «) ; '); pour (var i = 0; i DineshHona

4

Pour d'autres qui cherchent à ce sujet:

Voici la façon la plus simple de convertir un ensemble de données à un tableau JSON comme json_encode (PHP) fait avec ASP.Net:

using Newtonsoft.Json; 

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