JSON es un peso ligero, independiente del lenguaje, formato de intercambio de datos. En la Internet de hoy es un formato ampliamente utilizado para almacenar y transferir datos entre aplicaciones y varios lenguajes de programación.
Json.NET es una herramienta # C que puede convertir tanto hacia y desde el formato JSON, la escritura y la lectura de datos según sea necesario.
La biblioteca puede manejar ambos objetos-a-JSON .NET normales y viceversa, además de LINQ a JSON y viceversa, y de XML a JSON y viceversa.
Además de esto, Json.NET también es considerablemente más rápido que los datos JSON incorporados serializadores JSON y produce el formato correcto de .NET, mucho más fácil de leer que el texto mutilado que los serializadores integradas normalmente salida.
Json.NET también está disponible a través de NuGet
¿Qué hay de nuevo en esta versión:.
- Las nuevas características:
- mejoras de rendimiento DiscriminatedUnionConverter
- Agregado JsonRequiredAttribute
- propiedad Agregado JsonSerializerSettings.ReferenceResolverProvider
- Agregado DefaultContractResolver.ResolveDictionaryKey
- Agregado JsonDictionaryContract.DictionaryKeyResolver
- Se ha añadido soporte para la lectura de cadenas GUID como bytes en JsonTextReader
- Agregado EqualityComparer a JsonSerializer
- Los cambios:
- Se ha cambiado la lectura de GUID como bytes a sólo el formato de soporte 00000000-0000-0000-0000-000000000000
- Renombrado objetivo aspnetcore50 a dnxcore50
- Marcado JsonSchema como obsoletos
- DefaultContractResolver Marcado (bool) como obsoletos
- Marcado JsonSerializerSettings.ReferenceResolver como obsoletos
- Marcado JsonDictionaryContract.PropertyNameResolver como obsoletos
- Correcciones:
- deserialización Fijo cadenas vacías en tablas hash
- JTokenReader.Path incorrecta fijo en ciertas situaciones
- Corregido el error al serializar ciertos objetos en la confianza medio
- Fijo deserializar grandes valores UInt64 anulable
- Fijo escribir grandes JValues UInt64
- Fijo convertir prefijos de espacio de nombres sin igual en JSON a XML
- Fijo IsoDateTimeConverter sobre propiedades DateTime con DateTimeFormatHandling.DateTimeOffset
- Fijo preservar referencias a objetos con propiedades de sólo lectura
- Corregido el error al deserializar enteros grandes JSON a XML
- Fijo serializar propiedades de datos de extensión sin setter
- Fijo serialización sindicatos discriminados con nombre de tipo o de seguimiento de referencia habilitado
- DataTableConverter fijo no usar ajustes JsonSerializer
- propiedades fijas resolver desde las interfaces anidadas
- clases deserialización fijos derivados de ConcurrentDictionary
- Fijo pasar valores por defecto para los constructores
- Fijos serialización referencias de raíz de JsonConverters
- cadenas vacías fijos forzadas a null no erroring con Required.Always
- Corregido error Required.Always no válidos con carcasa de constructor de nombre de la propiedad
- Fijo cheque coaccionar cadena vacía con Required.Always y constructor
¿Qué hay de nuevo en la versión 6.0 Release 8:
- Nueva función:
- Agregado AttributeProvider a JsonProperty
- Fijo:
- serializar y deserializar campos const
- Uso MetadataTypeAttribute con clases de proxy
- mensaje de error mal cuando deserializar colecciones no compatibles
¿Qué hay de nuevo en la versión 6.0 Release 4:
- Nueva función:
- Agregado Combinar en LINQ to JSON
- Agregado JValue.CreateNull y JValue.CreateUndefined
- Agregado Windows Phone 8.1 soporte para .NET 4.0 asamblea portátil
- Agregado OverrideCreator a JsonObjectContract
- Se ha añadido soporte para anular la creación de interfaces y tipos abstractos
- Se ha añadido soporte para la lectura de UUID BSON valores binarios como Guid
- Agregado MetadataPropertyHandling.Ignore
- Mejora del rendimiento de KeyValuePairConverter
- Mejora el rendimiento cuando la serialización grandes documentos XML
- Los cambios:
- Entero Limited tamaño análisis al tamaño entero JavaScript
- Validado que los números no terminan con un carácter no válido
- Correcciones:
- JToken.ReadFrom fija la creación de un valor de cadena para un comentario
- Fijo confiar en orden Diccionario al llamar constructores parametrizados
- Fijo escribir nuevas líneas de usar TextWriter.WriteLine
- Fijo deserializar no genérico IReadOnlyCollection & # X3c; T & # X3e; implementaciones
- Fija el envío de peticiones HTTP al resolver urls DTD en XmlNodeConverter
- Fijo poblar propiedades ignoradas con DefaultValueHandling.IgnoreAndPopulate
- Fijo no tirar JsonReaderException al analizar algunos números no válidos
- Fijo JsonConvert.PopulateObject no establecer ajustes JsonReader
¿Qué hay de nuevo en la versión 6.0 Release 2:
- Nueva función:
- Se ha añadido soporte para Windows Phone 8.1.
¿Qué hay de nuevo en la versión 6.0 Release 1:
- Nueva función:
- Se ha añadido soporte para JSONPath
- Se ha añadido soporte para serializar F # discriminado sindicatos
- Se ha añadido soporte para deserializar DataTables y matrices anidadas en DataTables
- Se ha añadido soporte para la lectura de múltiples piezas de JSON con una JsonReader
- AllowIntegerValues Añadido ajuste para StringEnumConverter
- Agregado decimales y DateTimeOffset constructores a JValue
- Se ha añadido soporte para la lectura de JSON sola línea comenta li>
- Mejora de la serie de análisis de los mensajes de error
- Cambio:
- Versión Asamblea 6.0.0.0
- .NET 4 objetivos construcción portátiles MonoTouch y MonoDroid en paquete NuGet
- .NET 4 objetivos construcción portátiles WP8 y SL5 lugar de WP7 y SL4
- Eliminado:
- DefaultMemberSearchFlags en DefaultContractResolver es obsoleta li>
- SerializeObjectAsync, DeserializeObjectAsync, PopulateObjectAsync en JsonConvert son obsoletos
- Fijo:
- propiedades jobject ICustomTypeDescriptor regresan valor incorrecto
- Error al lanzar cadena base64 dinámico para byte array
- EntityKeyMemberConverter no usar el nombre de propiedad resolución
- Serialización JValues con JsonConverters sólo lectura
- override Formateo en métodos SerializeObject
- Error al envolver una excepción en un JsonConverter
- Uso de datos de extensión con un constructor no predeterminado
- Uri serialización Roundtripping con Uri.OriginalString
¿Qué hay de nuevo en la versión 5.0 Release 7:
- Nueva función:
- Se ha añadido soporte para inmutables Colecciones
- Agregado WriteData y ReadData ajustes a DataExtensionAttribute
- Añadido referencia y nombre del tipo de manejo de soporte a los datos de extensión
- valor predeterminado Añadido y el apoyo necesario para la deserialización constructor
- Los cambios:
- Datos Extensión ahora se escribe al serializar
- Correcciones:
- Añadido elencos que faltan para JToken
- Fijo analizar los números de punto flotante grandes
- Fijo no analizar algunas zonas horarias fecha ISO
- validación de esquema fijo de valor entero cuando el tipo era el número
- escritura fija de los valores IConvertible cuando TypeCode devuelto fue objeto
¿Qué hay de nuevo en la versión 5.0 Release 6:
- Nueva función:
- Añadido serializado / deserializado JSON en Verbose rastreo.
- Se ha añadido soporte para el uso de nombre tipo de manipulación con el contenido ISerializable.
- Fijo:
- No utilizar la configuración por defecto serializador con valores primitivos y JToken.ToObject.
- Error de escritura BigIntegers con JsonWriter.WriteToken.
- serializar y deserializar enumeraciones bandera con el atributo EnumMember.
- Error deserializar las interfaces con un convertidor de tipo válido.
- Error deserializar objetos ISerializable que también implementar IConvertible.
¿Qué hay de nuevo en la versión 5.0 de la Versión 5:
- Nueva función:
- Alta configuración global de serialización por defecto con JsonConvert.DefaultSettings
- Se ha añadido soporte de datos de extensión con JsonExtensionDataAttribute
- Agregado NullValueHandling y DefaultValueHandling apoyo a la serialización de tipos dinámicos
- Los cambios:
- Algunos métodos de interfaz explícitas jarray a pública para apoyar su uso con ImpromtuInterface
- Fijo:
- deserializar-ISO no claves de diccionario fecha con formato
- Los valores no se establecen cuando deserializar con DefaultValueHandling.IgnoreAndPopulate
- deserializar con el tipo llamado manipulación y asambleas cargado con Assembly.LoadFrom
- deserializar expresiones regulares al utilizar StringEnumConverter
- serializar y deserializar DataSets con tipo
¿Cuál es nuevo en la versión 5.0 Release 4:
- Nueva característica - Agregado JsonWriter.SetWriteState para apoyar la herencia desde implementaciones JsonWriter
- Cambiar - El cambio de .NET 4.5 biblioteca portátil y una biblioteca WinRT utilicen compilado expresiones reflexión
¿Qué hay de nuevo en la versión 5.0 Release 3:
- Corregido el error serializar tipos no genéricos que implementan IEnumerable y # X3c; T & # X3e;.
Comentarios que no se encuentran