serialize newtonsoft net jsonconvert example deserialize .net json serialization jsonserializer

newtonsoft - ¿.NET 4 tiene un serializador/deserializador JSON incorporado?



newtonsoft json serialize vb net (3)

Puede utilizar la clase DataContractJsonSerializer cualquier lugar que desee, solo es una clase .net y no está limitada a WCF. Más información sobre cómo usarlo here y here .

¿.NET 4 viene con cualquier clase que serialice / deserialice datos JSON?

  • Sé que hay bibliotecas de terceros, como JSON.NET , pero estoy buscando algo integrado en .NET.

  • Encontré Data Contracts en MSDN, pero es para WCF, no para Winforms o WPF.


Utilice esta clase genérica para serializar / deserializar JSON. Puede serializar fácilmente una estructura de datos compleja como esta:

Dictionary<string, Tuple<int, int[], bool, string>>

a cadena JSON y luego guardarlo en la configuración de la aplicación o bien

public class JsonSerializer { public string Serialize<T>(T aObject) where T : new() { T serializedObj = new T(); MemoryStream ms = new MemoryStream(); DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T)); ser.WriteObject(ms, serializedObj); byte[] json = ms.ToArray(); ms.Close(); return Encoding.UTF8.GetString(json, 0, json.Length); } public T Deserialize<T>(string aJSON) where T : new() { T deserializedObj = new T(); MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(aJSON)); DataContractJsonSerializer ser = new DataContractJsonSerializer(aJSON.GetType()); deserializedObj = (T)ser.ReadObject(ms); ms.Close(); return deserializedObj; } }


Está la clase JavaScriptSerializer (aunque deberá hacer referencia al ensamblado System.Web.Extensions , la clase funciona perfectamente bien en aplicaciones WinForms / WPF). Además, incluso si la clase DataContractJsonSerializer se diseñó para WCF, funciona bien en aplicaciones cliente.