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