Cómo crear una cadena JSON en C#
Simplemente usé XmlWriter para crear algo de XML para enviarlo en una respuesta HTTP. ¿Cómo crearías una cadena JSON? Supongo que simplemente usaría un generador de cadenas para crear la cadena JSON y formatear su respuesta como JSON.
Aceptado
Usar Newtonsoft.Json lo hace realmente más fácil:
Product product = new Product();
product.Name = "Apple";
product.Expiry = new DateTime(2008, 12, 28);
product.Price = 3.99M;
product.Sizes = new string[] { "Small", "Medium", "Large" };
string json = JsonConvert.SerializeObject(product);
Documentación: Serialización y deserialización de JSON
Puede utilizar la clase JavaScriptSerializer ; consulte este artículo para crear un método de extensión útil.
Código del artículo:
namespace ExtensionMethods
{
public static class JSONHelper
{
public static string ToJSON(this object obj)
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
return serializer.Serialize(obj);
}
public static string ToJSON(this object obj, int recursionDepth)
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
serializer.RecursionLimit = recursionDepth;
return serializer.Serialize(obj);
}
}
}
Uso:
using ExtensionMethods;
...
List<Person> people = new List<Person>{
new Person{ID = 1, FirstName = "Scott", LastName = "Gurthie"},
new Person{ID = 2, FirstName = "Bill", LastName = "Gates"}
};
string jsonString = people.ToJSON();