una serializar recorrer obtener net leer deserializar datos consumir construir como cadena asp c# .net json dataset .net-3.5

serializar - Conversión de un conjunto de datos a JSON con.NET 3.5 en C#



recorrer json c# (4)

Quizás hayas oído hablar del espacio de nombres system.runtime.serialization.json en el recientemente anunciado .NET Framework 4.0 .

He estado buscando una manera simple de convertir un conjunto de datos de una base de datos PostgreSQL a JSON para usar en un proyecto que estoy construyendo.

Esta es la primera vez que uso JSON, y me ha resultado realmente complicado encontrar una forma sencilla de hacerlo. He estado usando un StringBuilder en este momento para crear una cadena JSON a partir de la información en el conjunto de datos, pero he escuchado que es posible hacer esto muy simplemente con .NET 3.5 usando el System.Runtime.Serialization nombres System.Runtime.Serialization , aunque tengo aún para encontrar un artículo o blog simple sobre cómo se hace esto! ¿Cuál es la forma más fácil de hacer esto?



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(); }


Para otros que miran este tema:

Esta es la forma más sencilla de convertir un conjunto de datos en una matriz JSON como lo hace json_encode ( PHP ) con ASP.Net:

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