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 | ![]() |
![]() |
![]() |