Json.NET offers many features not found in the JavaScriptSerializer and DataContractSerializer that come with .NET.
Feature Comparison:-
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
| ![]() | ![]() | ![]() |
Serializes and deserializes multidimensional arrays
| ![]() | ![]() | ![]() |
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
| ![]() | ![]() | ![]() |
JSON Schema validation
| ![]() | ![]() | ![]() |
JSON Schema generation from .NET types
| ![]() | ![]() | ![]() |
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
| ![]() | ![]() | ![]() |
Serializes anonymous types
| ![]() | ![]() | ![]() |
Deserializes anonymous types
| ![]() | ![]() | ![]() |
Opt-in mode serialization
| ![]() | ![]() | ![]() |
Opt-out mode serialization
| ![]() | ![]() | ![]() |
Field (Serializable) mode 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
| ![]() | ![]() | ![]() |
Serializes 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
| ![]() | ![]() | ![]() |
Benchmarks:-

No comments:
Post a Comment