Popular high-performance JSON framework for .NET
Json.NET is open source under the MIT license and is free for commercial use.
Thanks to Allie Brosh for all the things.
| Json.NET | DataContractJsonSerializer | JavaScriptSerializer | |
|---|---|---|---|
| Supports JSON | |
|
|
| Supports BSON | |
|
|
| Supports JSONPath | |
|
|
| Supports .NET 2.0 | |
|
|
| Supports .NET 3.5 | |
|
|
| Supports .NET 4.0 | |
|
|
| Supports .NET 4.5 | |
|
|
| Supports Silverlight | |
|
|
| Supports Windows Phone | |
|
|
| Supports Windows Store | |
|
|
| Supports Xamarin | |
|
|
| Open Source | |
|
|
| MIT License | |
|
|
| LINQ to JSON | |
|
|
| Thread Safe | |
|
|
| XPath-like JSON query syntax | |
|
|
| Indented JSON support | |
|
|
| Deserializes IList, IEnumerable, ICollection, IDictionary properties | |
|
|
| Serializes circular references | |
|
|
| Supports serializing objects by reference | |
|
|
| Deserializes polymorphic properties and collections | |
|
|
| Supports including type names with JSON | |
|
|
| Globally customize serialization process | |
|
|
| Supports excluding null values when serializing | |
|
|
| Supports SerializationBinder | |
|
|
| Conditional property serialization | |
|
|
| Includes line number information in errors | |
|
|
| Converts XML to JSON and JSON to XML | |
|
|
| Camel case JSON property names | |
|
|
| Non-default constructors support | |
|
|
| Serialization error handling | |
|
|
| Supports populating an existing object | |
|
|
| Efficiently serializes byte arrays as base64 text | |
|
|
| Handles NaN, Infinity, -Infinity and undefined | |
|
|
| Handles JavaScript constructors | |
|
|
| Serializes .NET 4.0 dynamic objects | |
|
|
| Serializes ISerializable objects | |
|
|
| Supports serializing enums to their text name | |
|
|
| JSON recursion limit support | |
|
|
| Attribute property name customization | |
|
|
| Attribute property order customization | |
|
|
| Attribute property required customization | |
|
|
| Supports ISO8601 dates | |
|
|
| Supports JavaScript constructor dates | |
|
|
| Supports Microsoft AJAX dates | |
|
|
| Unquoted property names support | |
|
|
| Raw JSON support | |
|
|
| Supports reading and writing comments | |
|
|
| Deserializes anonymous types | |
|
|
| Opt-in property serialization | |
|
|
| Opt-out property serialization | |
|
|
| Efficiently stream reading and writing JSON | |
|
|
| Single or double quote JSON content | |
|
|
| Supports overriding a type's serialization | |
|
|
| Supports OnDeserialized, OnSerializing, OnSerialized and OnDeserializing attributes | |
|
|
| Supports serializing private properties | |
|
|
| DataMember attribute support | |
|
|
| MetdataType attribute support | |
|
|
| DefaultValue attribute support | |
|
|
| Serializes DataSets and DataTables | |
|
|
| Serailizes Entity Framework | |
|
|
| Serializes nHibernate | |
|
|
| Case-insensitive property deserialization | |
|
|
| Diagnostic tracing | |
|
|
| Serializes read-only and immutable collections | |
|
|
| Supports serialization extension data | |
|
|
| Serializes F# discriminated unions | |
|
|
| Serializes F# collections | |
|
|
| Supports merging JSON | |
|
|