Commit Graph
46 Commits
Author SHA1 Message Date
JamesNK b20d58bb92 -Updated documentation
-Added complete ADO.NET Entities serialization and deserialization
2009-07-26 06:34:28 +00:00
JamesNK a4022ec5d3 -More documentation (I know!)
-Fixed decimals to always be written with a decimal place
-Replaced IMappingResolver with IContractResolver
-Renamed JsonMemberMapping to JsonProperty
-Added JsonContract, JsonObjectContract, JsonArrayContract, JsonDictionaryContract
-Added support for OnSerializing, OnSerialized, OnDeserializing, OnDeserialized callback methods
-Major refactoring of serialization internals
2009-07-05 02:55:58 +00:00
JamesNK 67654ec106 -JsonObjectAttribute will now force a collection class to be serialized as an object
-Renamed ThreadSafeDictionaryWrapper to ThreadSafeStore
2009-06-18 12:23:49 +00:00
JamesNK 63160b04ff -Added documentation (gasp!)
-Fixed serialization of Uri members on Silverlight/Compact Framework
-Fixed serialization of JToken members
-Fixed (hopefully) cache threading issues
2009-06-16 09:50:59 +00:00
JamesNK d160b9f587 -Fixed serializer handling of comments in JSON 2009-05-31 12:10:54 +00:00
JamesNK fec0ec5a1d -Lots of XML code comments
-Added type name handling to serializer
-Fixed various compilation warnings
2009-05-30 06:13:51 +00:00
JamesNK f0c5be266b -Added JsonSerializer argument to JsonConverter.ReadJson and JsonConverter.WriteJson. Needed because serializer now has state
-Added CustomCreationConverter
-Added IsReference to JsonContainerAttribute
-Added PreserveReferencesHandling to JsonSerializer
-Added IReferenceResolver to JsonSerializer
-Split internals of JsonSerializer into JsonSerializerWriter (serializes) and JsonSerializerReader (deserializes)
-Moved serialize stack from JsonWriter (yuck) to JsonSerializerWriter (yay)
-Added FromObject overload with JsonSerializer argument for cases when state is needed
2009-05-13 10:15:41 +00:00
JamesNK 3b26adfdd1 -Added support for DataContractAttribute and DataMemberAttribute to JsonSerializer
-Added support for serializing private members by marking them with JsonPropertyAttribute or DataMemberAttribute
2009-05-09 10:19:32 +00:00
JamesNK affb9ec906 -Added even more detail to no root XML element exception message when converting JSON to XML. Seriously, if you still get stuck here you're an idiot
-Added NullValueHandling, DefaultValueHandling and ReferenceLoopHandling to JsonPropertyAttribute
-Change JsonMemberMapping from a struct to a class. Now has too many properties for a struct
2009-04-22 05:56:34 +00:00
JamesNK 3e22e30261 -Changed DefaultDateTimeFormat on IsoDateTimeConverter to not display zero milliseconds 2009-04-12 01:21:27 +00:00
JamesNK 3630a43f11 -Added StringEnumConverter
-Added BinaryConverter
2009-03-29 01:36:06 +00:00
JamesNK b9bedd1233 -Rename Product.Expiry to Product.ExpiryDate in tests 2009-03-21 09:19:16 +00:00
JamesNK 9fd47e6334 -Added support to deserializing to IEnumerable<T>, IList<T>, IDictionary<K, V>
-Added populating members when creating object from non default constructor
-Added case best match when deserializing properties
-Added ToString(Formatting, JsonConverters[]) overload to JToken
-Added SerializeObject(object, Formatting, JsonConverter[]) overload to JsonConvert
-Added IMappingResolver. Property added to JsonSerializer, JsonSerializerSettings, JsonSchemaGenerator
-Added CamelCaseMappingResolver
2009-03-14 00:38:28 +00:00
JamesNK 6068b06744 -Fix ToString(JsonConverter[]) overload on JToken
-Ensure JavaScriptDateTimeConverter converts nullable DateTimes
-Make JsonTypeReflector thread safe
2009-02-27 06:12:37 +00:00
JamesNK eedb01645a -Improve error message when attempting to deserialize to an interface or abstract class 2009-02-08 08:57:45 +00:00
JamesNK 803c381c72 -Added deserialize test for jagged arrays
-Made deserializer ignore missing members by default
2009-01-15 08:46:54 +00:00
JamesNK a7b631a5f9 -Fix test 2009-01-06 08:05:04 +00:00
JamesNK 308a0c516b -Fix error message for missing member
-Fix exception not throwing for bad char after semi-colon
2009-01-06 08:03:46 +00:00
JamesNK 0319263756 -Added JSON Schema implementation
-Move test serialization objects to TestObjects namespace
-Fixed JsonConvert to always write a floating point number with a decimal place
-Changed Type values to serialize and deserialize to type name string
-Fixed JsonWriter to allow objects and arrays to be written in a constructor
-Added JsonContainerAttribute with Id, Title and Description members. JsonObject and JsonArray inherit from this attribute
-Added JsonArrayAttribute. Has flag to control whether array can contain null items.
-Added IsRequired to JsonProperty
-Replaced protected method GetSerializableMembers with GetMemberMappings on JsonSerializer
-Fixed QuoteChar not getting set when parsing property name
-Added Load(JsonReader) to JProperty, JConstructor
-Fixed error when populating JProperty with content from collection
-Added the ability for JsonTokenWriter to write individual values as well as arrays and objects
-Added CreateReader to JToken
-Added FromObject to JToken
-Added ReadFrom to JToken
2009-01-02 05:29:31 +00:00
JamesNK f95868233e -Rename JavaScriptConvert to JsonConvert 2008-12-03 05:52:21 +00:00
JamesNK 5b58fb32de -Changed Value<T> on JObject to support getting nullable values
-Fixed JsonSerializer to correctly skip missing members
2008-11-23 05:09:21 +00:00
JamesNK 950b99ca1f -Fix bug when deserializing to a nullable number 2008-11-02 00:43:32 +00:00
JamesNK a858bebc93 -Changed JSON Date constructors to automatically deserialize to a date 2008-10-27 07:57:26 +00:00
JamesNK 3038a8d79e -Modified project to support signed flag. Does not output InternalsVisibleTo attributes when present
-Improved error message on JObject and JArray Load method
-Added WriteRawValue
-Added missing XML documentation
-Added SerializeObject overload that takes a formatting flag
2008-10-08 09:01:55 +00:00
JamesNK 5bb0c17eec -Renamed Identifier to JsonRaw
-Added support for reading, writing and serializing raw JSON
2008-09-27 23:37:55 +00:00
JamesNK 500440e04f -Added nullable DateTime support to IsoDateTimeConverter and JavaScriptDateTimeConverter
-Added WriteValue overloads to JsonWriter for nullable types
-Fixed JsonTextWriter.WriteValue(string) to write null instead of an empty string for a null value
-Fixed JsonWriter.WriteValue(object) to no longer error on null values
2008-09-24 09:39:30 +00:00
JamesNK 33c2d69b54 -Added compact framework support
-Refactored JavaScriptConvert to not rely on DateTimeOffset when converting dates
-Refactored JsonSerializer to use new CreateInstance on ReflectionUtils
-Deleted JsonHandler
2008-09-21 10:23:55 +00:00
JamesNK e8654d8c03 -Added DefaultValueHandling to JsonSerializer. Option to not write default values when serializing object
-Added JsonSerializerSettings and overloads to JavaScriptConvert.SerializeObject and JavaScriptConvert.DeserializeObject
-Performance improvements
2008-09-14 10:30:38 +00:00
JamesNK 7f4656a583 -Fix test
-Enable XML documentation for Silverlight project
2008-08-24 11:23:19 +00:00
JamesNK e1cd4a5cff -Updated serializing help page
-Fixed help generation warnings
-Added AsJEnumerable
-Changed extension methods to return IJEnumerable where appropriate
-Extension methods better handle converting JValues
2008-08-23 12:46:28 +00:00
JamesNK d4c6a8de26 -Fix GetFieldsAndProperties so that it returns a distinct list of member names in cases where there are overriden abstract generic properties 2008-08-16 07:34:54 +00:00
JamesNK 7cb056d6c7 -Added JsonConverterAttribute. Can be placed on classes and members. Priority is member attribute -> class attribute -> serializer argument converters
-Added DateTimeFormat to IsoDateTimeConverter to customize format
-Changed IConvertible casting to the ToXXXX methods in JsonSerializer
2008-08-04 09:38:24 +00:00
JamesNK f2aa4a2b40 -Added missing files from Silverlight projects
-Fixed JsonWriter depth error when writing current JsonReader position
-Fixed JsonSerializer not fulling skipping properties when putting together constructor values
-Changed JsonSerializer so that property names and constructor params matching is no longer case sensitive
2008-08-02 11:29:37 +00:00
JamesNK 0ae1c636bd Work in progress:
-Silverlight build projects
-JObject now implements IDictionary, JArray now implements IList
2008-06-08 10:41:20 +00:00
JamesNK d88e2cf2ca -Fixes to XML documentation
-Sandcastle Help File Builder project added
-Quickstart guides added
2008-05-04 01:26:44 +00:00
JamesNK 3209f09f0f -XML comments for everything!!!
-Some members changed to internal
2008-04-10 10:30:43 +00:00
JamesNK ffe2d91279 Change - Heaps of small changes and bug fixes around LINQ to JSON. Many unit tests added.
Change - CultureInfo is now always passed into FormatWith
2008-04-04 22:45:52 +00:00
JamesNK e469918596 Added opt-in, opt-out serialization option
Added virtual GetSerializableMembers to JsonSerializer
2008-03-29 10:27:44 +00:00
JamesNK 3d150fe2c3 Changes:
Specified CultureInfo when converting to and from strings across Json.NET.

Fixes:
Clone JToken when adding token with a parent to a new token.
2008-03-16 03:04:28 +00:00
JamesNK 4ee5fc3578 New features:
Added Skip() method to JsonReader. Skips the current JSON token and any child tokens.
JsonSerializer now has the ability to populate existing members on an object. This behaviour is controlled by the ObjectCreationHandling property.

Changes:
Improved behaviour of JsonReader.Depth property.

Fixes:
Floating point numbers now use ToString("r") to avoid an overflow error when serializing and deserializing a boundary value.
JsonSerializer now correctly serializes and deserializes DBNull.
JsonSerializer no longer errors when skipping a multi-token JSON structure.
2008-03-15 22:31:36 +00:00
JamesNK 2fb34b22bb Tests 2008-03-02 03:18:05 +00:00
JamesNK 3c88523556 Change:
JsonSerializer will serialize null rather than throwing an exception.
2008-02-28 09:53:20 +00:00
JamesNK 3109027c75 New features:
Added support for deserializing to an anonymous type with the DeserializeAnonymousType method.
Support for reading, writing and serializing the new DateTimeOffset type.
Added IsoDateTimeConverter. Converts DateTimes and DateTimeOffsets to and from the ISO 8601 format.
Added JavaScriptDateTimeConverter. Converts DateTimes and DateTimeOffsets to and from a JavaScript date constructor.
XmlNodeConverter handles serializing and deserializing JavaScript constructors.
Ability to force XmlNodeConverter to write a value in an array. Logic is controlled by an attribute, json:Array="true".

Changes:
Dates are now serialized in a JSON complient manner, similar to ASP.NET's JavaScriptSerializer or WCF's DataContractJsonSerializer - http://weblogs.asp.net/bleroy/archive/2008/01/18/dates-and-json.aspx
Removed the AspNetAjaxDateTimeConverter.
2008-02-28 09:32:09 +00:00
JamesNK c1ce4c366f Json.NET 2.0 Beta
New feature - LINQ to JSON!
New feature - Ability to specify how JsonSerializer handles null values when serializing/deserializing.
New feature - Ability to specify how JsonSerializer handles missing values when deserializing.
Change - Improved support for reading and writing JavaScript constructors.
Change - A new JsonWriter can now write additional tokens without erroring.
Bug fix - JsonSerializer handles deserializing dictionaries where the key isn't a string.
Bug fix - JsonReader now correctly parses hex character codes.
2008-02-10 10:56:19 +00:00
JamesNK 487dc81251 Correct bugs in JavaScript string escaping. Add JavaScriptConvertTest. 2007-09-10 11:01:42 +00:00
JamesNK e65bc2becd 2007-09-08 08:59:38 +00:00