1 2009-12-07 Chris Toshok <toshok@ximian.com>
3 * JsonReaderWriterFactory.cs (CreateJsonReader): pass null for the
4 encoding parameter instead of calling Detect. The jsonreader's
5 PushbackReader will autodetect.
6 (Detect): remove. a BufferedStream created from an unseekable
7 stream is itself unseekable, which makes it just as useless. This
8 breaks netflix's isostore file parsing.
10 * JsonReader.cs (PushbackReader): add a ctor which doesn't take an
11 encoding, for the autodetecting reader case. for this ctor, pass
12 true to StreamReader's ctor for detectEncodingFromByteOrderMarks.
14 2009-12-06 Chris Toshok <toshok@ximian.com>
16 * JsonSerializationReader.cs (DeserializeGenericCollection): this
17 is jb's (iirc) patch, actually. Types subclassing from
18 ICollection<T> need to be supported, and since it's an interface
19 the implementation might be explicit. So instead of groveling
20 around in the actual type, we need to dispatch through the
23 * TypeMap.cs (CreateDefaultTypeMap): we need to include non-public
24 properties, since KeyValuePair items must be able to write to Key
27 * JsonReader.cs (ReadContent): for builtin values (null, true,
28 false), use TryReadString instead of individual ReadChar's, since
29 they aren't reversible if the string didn't match. In the default
30 case, if we're LameSilverlightLiseralParser, we need to push back
31 the current character onto the stream -- this is because for
32 netflix's AppConfig.json we were parsing "frameRatePolicy" as
33 "rameRatePolicy" (the 'f' was triggering the "false" parsing).
34 (class PushBackReader): add this class to unify all the pushing
35 back of characters we need to do. 1 character (JsonReader's old
36 "saved_char") isn't enough given that you could have a property
37 named, e.g., "falsifiable", and we'd need 4 characters worth of
38 pushback to recognize that correctly.
40 2009-11-20 Atsushi Enomoto <atsushi@ximian.com>
42 * DataContractJsonSerializer.cs, JsonReader.cs : Silverlight uses
43 LAME parser that allows object member name as *raw* string
44 without double-quotes. (This also reverts the previous change.)
46 2009-11-12 Atsushi Enomoto <atsushi@ximian.com>
48 * JsonSerializationReader.cs : reuse generic collection search
49 logic in KnownTypeCollection.cs. Fixed bug #551671.
51 2009-10-30 Andreia Gaita <avidigal@novell.com>
53 * DataContractJsonSerializer.cs: SL accepts keys without "", so tweak
54 the data to fix the quotes before passing it to the deserializer
56 2009-10-23 Atsushi Enomoto <atsushi@ximian.com>
58 * DataContractJsonSerializer.cs
60 JsonSerializationReader.cs : add experimental monotouch build.
62 2009-10-08 Atsushi Enomoto <atsushi@ximian.com>
64 * DataContractJsonSerializer.cs, JsonSerializationWriter.cs:
65 alwaysEmitTypeInformation is false by default. It is for __type
66 attribute, not for type attribute. __type name is always with ":#".
67 * TypeMap.cs : sort members in default typemap (it is ordered).
68 Uncomment EmitDefaultValue.
69 * JsonWriter.cs : handle "null" string (it is somewhat messy).
71 2009-10-05 Atsushi Enomoto <atsushi@ximian.com>
73 * JsonReader.cs : copy string literal parser from System.Json.
75 2009-09-22 Atsushi Enomoto <atsushi@ximian.com>
77 * JsonSerializationWriter.cs : output "type" attribute on bool
79 * JsonSerializationReader.cs : type loading attempt was insufficient
80 and hence often missed indicated types to deserialize.
82 2009-09-15 Atsushi Enomoto <atsushi@ximian.com>
84 * JsonWriter.cs : use Stream as its output directly and avoid
85 extraneous preamble output. Fix interop with .NET.
87 2009-09-07 Atsushi Enomoto <atsushi@ximian.com>
89 * JsonReaderWriterFactory.cs : check null stream (fix test failure).
91 2009-03-13 Andreia Gaita <avidigal@novell.com>
93 * JsonReader.cs: fix depth calculation
95 2009-03-12 Geoff Norton <gnorton@novell.com>
97 * TypeMap.cs: Avoid checking the getter/setter information until after
98 checking if we have the required attribute decorated.
100 2009-03-12 Andreia Gaita <avidigal@novell.com>
102 * JsonReaderWriterFactory.cs: try to auto-detect encoding for streams
105 2009-03-02 Chris Toshok <toshok@ximian.com>
107 * JsonReader.cs: 2.1 has HasValue.
109 2009-02-02 Atsushi Enomoto <atsushi@ximian.com>
111 * JsonReader.cs : show invalid input character in the error
114 2009-02-02 Atsushi Enomoto <atsushi@ximian.com>
116 * TypeMap.cs : in 2.1 do not use non-2.1 CreateInstance().
118 2009-02-02 Atsushi Enomoto <atsushi@ximian.com>
120 * TypeMap.cs : allow get-only collections. Note that they are not
121 always deserializable (in .NET either).
123 2009-02-02 Atsushi Enomoto <atsushi@ximian.com>
125 * TypeMap.cs : DataContractJsonSerializer in RTM does not seem to
126 reject contract-less types. So populate map for public members.
127 * DataContractJsonSerializer.cs : close XmlWriter to flush stream
128 (and it closes the stream by default).
130 2009-02-02 Andreia Gaita <avidigal@novell.com>
132 * JsonSerializationReader.cs : Use 2.1 "approved" calls for Enum.Parse
133 and Convert.ChangeType
135 2008-02-18 Atsushi Enomoto <atsushi@ximian.com>
137 * DataContractJsonSerializer.cs : IsStartObject() could raise
138 an arbitrary exception, so wrap it inside try-catch too to enclose
139 with SerializationException.
140 * JsonSerializationReader.cs : support DBNull.
142 2008-01-30 Atsushi Enomoto <atsushi@ximian.com>
144 * DataContractJsonSerializer.cs : fixed .ctor(type, knonwTypes) that
145 missed to delegate knownTypes correctly.
146 * JsonSerializationReader.cs : consider KnownTypes correctly.
147 Take "__type" fully into consideration, not just for arrays.
149 2008-01-30 Atsushi Enomoto <atsushi@ximian.com>
151 * JsonReader.cs : GetAttribute() was not still missing support for
154 2008-01-30 Atsushi Enomoto <atsushi@ximian.com>
156 * JsonReader.cs : now __type is fully supported in every methods and
157 properties in correct shape.
159 2008-01-30 Atsushi Enomoto <atsushi@ximian.com>
161 * JsonReader.cs : Do not consume "__type" (which is the first content
162 of an object) as an element content. It must be handled as an
163 attribute (it needs more changes).
165 2008-01-24 Atsushi Enomoto <atsushi@ximian.com>
167 * JsonSerializationReader.cs : when deserializing primitive strings,
168 make use of "type" attribute (they are supposed to exist).
169 Output source reader location if available.
170 * JsonReader.cs : implement IXmlLineInfo.
172 2008-01-24 Atsushi Enomoto <atsushi@ximian.com>
174 * JsonSerializationReader.cs : new, for JSON deserialization support.
175 * DataContractJsonSerializer.cs, TypeMap.cs :
176 basic support for deserialization.
178 2008-01-24 Atsushi Enomoto <atsushi@ximian.com>
180 * DataContractJsonSerializer.cs,
182 JsonSerializationWriter.cs : split the first to those three files.
184 2008-01-24 Atsushi Enomoto <atsushi@ximian.com>
186 * DataContractJsonSerializer.cs : Uri and Guid are serialized as
187 string. XmlQualifiedName is serialized as local:ns.
189 2008-01-22 Atsushi Enomoto <atsushi@ximian.com>
191 * JsonWriter.cs : allow __type attribute. It required couple of
192 changes all around the class.
193 * DataContractJsonSerializer.cs : implemented large part of
194 serialization support (deserialization is not done yet).
196 2007-12-05 Atsushi Enomoto <atsushi@ximian.com>
198 * DataContractJsonSerializer.cs :
199 moved from System.Runtime.Serialization and changed the namespace.
200 * JsonReader.cs, JsonWriter.cs, JsonReaderWriterFactory.cs,
201 IXmlJsonReaderInitializer.cs, IXmlJsonWriterInitializer.cs :
202 moved from System.Xml and changed the namespace.