Json.NET

Popular high-performance JSON framework for .NET

World-class JSON Serializer

Serialize and deserialize any .NET object with Json.NET's powerful JSON serializer.

LINQ to JSON

Create, parse, query and modify JSON using Json.NET's JObject, JArray and JValue objects.

JSON Schema Validation

Validate incoming JSON using JSON Schema. Find out more at json-schema.org.

High Performance

50% faster than DataContractJsonSerializer, and 250% faster than JavaScriptSerializer.

Easy To Use

Json.NET makes the simple easy and the complex possible.

XML Support

If you need to, Json.NET supports converting between XML and JSON.

Open Source

Json.NET is open source software and is completely free for commercial use.

Run Anywhere

Json.NET supports Windows, Windows Store, Windows Phone, Mono, and Xamarin.

Most Popular .NET library

Over 10 million downloads and counting, Json.NET is the number one library on NuGet.

Json.NET Documentation

Json.NET documentation is the first place to go for help. It includes 100 code samples.

Stack Overflow

Stack Overflow has an active Json.NET community and is the best place to ask questions.

Json.NET is open source under the MIT license and is free for commercial use.

Json.NET is a personal open source project. Started in 2006, thousands of hours have been put into refining and tuning Json.NET with the goal of making it not just the best JSON serializer for .NET but the best serializer for any computer language. I need your help to achieve this.

If Json.NET has been helpful to you, consider donating.

Click here to lend your support to: Json.NET and make a donation at www.pledgie.com !

Thanks to these recent Json.NET donors...

Will King
mfuku
Seanb
jvongillern
Kori Francis
nathanaeljones
Neil Hibbert
esoliveira
Arthur Csertus
GeorgiyPermyakov
rtracy
Ryan Reynolds
stuartcollins
giller13
Ken Smith
josemarcenaro
Frank Lu
63 Json.NET
21 DataContractJsonSerializer
11 JavaScriptSerializer
Json.NET DataContractJsonSerializer JavaScriptSerializer
Supports JSON  Tick  Tick  Tick
Supports BSON
 Tick  Cross  Cross
Supports JSON Schema
 Tick  Cross  Cross
Supports .NET 2.0
 Tick  Cross  Cross
Supports .NET 3.5
 Tick  Tick  Tick
Supports .NET 4.0  Tick  Tick  Tick
Supports Silverlight  Tick  Tick  Cross
Supports Windows Phone  Tick  Tick  Cross
Open Source  Tick  Cross  Cross
MIT License  Tick  Cross  Cross
LINQ to JSON  Tick  Cross  Cross
Thread Safe  Tick  Tick  Tick
XPath-like JSON query syntax  Tick  Cross  Cross
Indented JSON support
 Tick  Cross  Cross
Efficient dictionary serialization  Tick  Cross  Tick
Nonsensical dictionary serialization  Cross  Tick  Cross
Deserializes IList, IEnumerable, ICollection, IDictionary properties
 Tick  Cross  Cross
Serializes circular references
 Tick  Cross  Cross
Supports serializing objects by reference
 Tick  Cross  Cross
Deserializes polymorphic properties and collections
 Tick  Tick  Tick
Supports including type names with JSON  Tick  Tick  Tick
Globally customize serialization process  Tick  Tick  Cross
Supports excluding null values when serializing
 Tick  Cross  Cross
Supports SerializationBinder
 Tick  Cross  Cross
Conditional property serialization
 Tick  Cross  Cross
Includes line number information in errors
 Tick  Tick  Cross
Converts XML to JSON and JSON to XML
 Tick  Cross  Cross
JSON Schema validation
 Tick  Cross  Cross
JSON Schema generation from .NET types
 Tick  Cross  Cross
Camel case JSON property names
 Tick  Cross  Cross
Non-default constructors support
 Tick  Cross  Cross
Serialization error handling
 Tick  Cross  Cross
Supports populating an existing object
 Tick  Cross  Cross
Efficiently serializes byte arrays as base64 text
 Tick  Cross  Cross
Handles NaN, Infinity, -Infinity and undefined
 Tick  Cross  Cross
Handles JavaScript constructors  Tick  Cross  Cross
Serializes .NET 4.0 dynamic objects
 Tick  Cross  Cross
Serializes ISerializable objects
 Tick  Cross  Cross
Supports serializing enums to their text name  Tick  Cross  Cross
JSON recursion limit support
 Tick  Tick  Tick
Attribute property name customization  Tick  Tick  Cross
Attribute property order customization  Tick  Tick  Cross
Attribute property required customization  Tick  Tick  Cross
Supports ISO8601 dates  Tick  Cross  Cross
Supports JavaScript constructor dates  Tick  Cross  Cross
Supports Microsoft AJAX dates  Tick  Tick  Tick
Unquoted property names support  Tick  Cross  Cross
Raw JSON support  Tick  Cross  Cross
Supports reading and writing comments  Tick  Cross  Cross
Deserializes anonymous types  Tick  Cross  Cross
Opt-in property serialization  Tick  Tick  Cross
Opt-out property serialization  Tick  Cross  Tick
Efficiently stream reading and writing JSON  Tick  Tick  Cross
Single or double quote JSON content  Tick  Cross  Cross
Supports overriding a type's serialization  Tick  Cross  Tick
Supports OnDeserialized, OnSerializing, OnSerialized and OnDeserializing attributes  Tick  Tick  Cross
Supports serializing private properties  Tick  Tick  Cross
DataMember attribute support  Tick  Tick  Cross
MetdataType attribute support  Tick  Cross  Cross
DefaultValue attribute support  Tick  Cross  Cross
Serializes DataSets and DataTables  Tick  Cross  Cross
Serailizes Entity Framework  Tick  Cross  Cross
Serializes nHibernate  Tick  Cross  Cross
Case-insensitive property deserialization  Tick  Cross  Cross
Performance