Json.NET is a JSON framework for .NET; it's faster than .NET's built-in JSON serializers. A new stable version has been released with following new features, changes, and fixes:
New features:
- IArrayPool and a setting on JsonTextReader and JsonTextWriter.
- JsonReader.ReadAsDouble.
- JsonLoadSettings and CommentHandling to control loading comments in LINQ to JSON.
- JsonLoadSettings.LineInfoHandling.
- Support for JsonConstructorAttribute on list and dictionary collections.
- Support for deserializing string to Version.
- ShouldDeserialize to JsonProperty.
- Required.DisallowNull.
- Support for converting JSON to XML with invalid XML name chracters.
- Improved case-insensitive deserialization performance.
- Improved date parsing performance.
Changes
- Changed ReadAsDateTime, ReadAsDateTimeOffset, ReadAsBytes, ReadAsString, ReadAsInt32 on JsonReader from abstract to virtual.
- Changed parsing JArrays to not include comments by default.
- Changed JTokenWriter to use the last property instead of erroring when there are duplicate property names.
- Changed Uri JValues to use OriginalString when written to JSON.
- Changed DateTimeOffset JValues to return TypeCode.Object from IConvertible.GetTypeCode().
Fixes:
- Fixed converting JSON metadata array value to XML.
- Fixed not including line information with some XML conversion errors.
- Fixed error when writing certain JSON with escaped characters.
- Fixed PopulateObject error when JSON starts with a comment.
- Fixed incorrect IJsonLineInfo line position after the first line.
- Fixed JSONPath when querying against Uri, Guid and Date values.
- Fixed JsonReader.Path when the path is escaped.
- Fixed writing JRaw twice when a TraceWriter is set.
- Fixed getting the wrong value when reading certain large integers.
- Fixed deserializing DataSet with a null DataTable.
- Fixed deserializing a null DataSet.
- Fixed error when serializing F# discriminated unions in Windows Store apps.
- Fixed error serializing some types when there are conflicting interface properties.
- Fixed error when settings ReferenceResolver is set to null.
- Fixed DateTimeZoneHandling not being used when writing DateTime dictionary keys.
- Fixed bug when converting an integer JValue to a nullable enum.
- Fixed converting null string JValue to XML.
- Fixed Mono generic class private field serialization bug.
- Fixed error when deserializing ignored property with mismatched type.
- Fixed deserializing to a type when setting JToken extension data.
- Fixed setting default values onto properties already set in constructor.
- Fixed casting dynamic JValue to JToken.
- Fixed serializing non-zero based arrays.
- Fixed reading 24 hour midnight ISO dates.
You can download the build from here.
Reference Links: