1 2009-12-14 Atsushi Enomoto <atsushi@ximian.com>
3 * TypeMap.cs : handle [Serializable] objects such as KeyValuePair<,>
4 like we do in 2.0. Removed previous workarounds. (Do not serialize
5 and deserialize nonpublic members in "default" mappings.)
7 2009-12-11 Chris Toshok <toshok@ximian.com>
9 * TypeMap.cs (CreateDefaultTypeMap): only include non-public
10 property info when dealing with KeyValuePair<,>. This is *not*
11 the way MS handles it, but we emulate things much better with this
14 2009-12-11 Atsushi Enomoto <atsushi@ximian.com>
16 * JsonReader.cs : e- and e+ was resulting in wrong parse error.
17 This should fix part of bug #531904.
19 2009-12-08 Chris Toshok <toshok@ximian.com>
21 * JsonSerializationReader.cs (DeserializeGenericCollection): in
22 the 2.1 case we still need to convert the List<> to an array.
24 2009-12-07 Chris Toshok <toshok@ximian.com>
26 * JsonReaderWriterFactory.cs (CreateJsonReader): pass null for the
27 encoding parameter instead of calling Detect. The jsonreader's
28 PushbackReader will autodetect.
29 (Detect): remove. a BufferedStream created from an unseekable
30 stream is itself unseekable, which makes it just as useless. This
31 breaks netflix's isostore file parsing.
33 * JsonReader.cs (PushbackReader): add a ctor which doesn't take an
34 encoding, for the autodetecting reader case. for this ctor, pass
35 true to StreamReader's ctor for detectEncodingFromByteOrderMarks.
37 2009-12-06 Chris Toshok <toshok@ximian.com>
39 * JsonSerializationReader.cs (DeserializeGenericCollection): this
40 is jb's (iirc) patch, actually. Types subclassing from
41 ICollection<T> need to be supported, and since it's an interface
42 the implementation might be explicit. So instead of groveling
43 around in the actual type, we need to dispatch through the
46 * TypeMap.cs (CreateDefaultTypeMap): we need to include non-public
47 properties, since KeyValuePair items must be able to write to Key
50 * JsonReader.cs (ReadContent): for builtin values (null, true,
51 false), use TryReadString instead of individual ReadChar's, since
52 they aren't reversible if the string didn't match. In the default
53 case, if we're LameSilverlightLiseralParser, we need to push back
54 the current character onto the stream -- this is because for
55 netflix's AppConfig.json we were parsing "frameRatePolicy" as
56 "rameRatePolicy" (the 'f' was triggering the "false" parsing).
57 (class PushBackReader): add this class to unify all the pushing
58 back of characters we need to do. 1 character (JsonReader's old
59 "saved_char") isn't enough given that you could have a property
60 named, e.g., "falsifiable", and we'd need 4 characters worth of
61 pushback to recognize that correctly.
63 2009-11-20 Atsushi Enomoto <atsushi@ximian.com>
65 * DataContractJsonSerializer.cs, JsonReader.cs : Silverlight uses
66 LAME parser that allows object member name as *raw* string
67 without double-quotes. (This also reverts the previous change.)
69 2009-11-12 Atsushi Enomoto <atsushi@ximian.com>
71 * JsonSerializationReader.cs : reuse generic collection search
72 logic in KnownTypeCollection.cs. Fixed bug #551671.
74 2009-10-30 Andreia Gaita <avidigal@novell.com>
76 * DataContractJsonSerializer.cs: SL accepts keys without "", so tweak
77 the data to fix the quotes before passing it to the deserializer
79 2009-10-23 Atsushi Enomoto <atsushi@ximian.com>
81 * DataContractJsonSerializer.cs
83 JsonSerializationReader.cs : add experimental monotouch build.
85 2009-10-08 Atsushi Enomoto <atsushi@ximian.com>
87 * DataContractJsonSerializer.cs, JsonSerializationWriter.cs:
88 alwaysEmitTypeInformation is false by default. It is for __type
89 attribute, not for type attribute. __type name is always with ":#".
90 * TypeMap.cs : sort members in default typemap (it is ordered).
91 Uncomment EmitDefaultValue.
92 * JsonWriter.cs : handle "null" string (it is somewhat messy).
94 2009-10-05 Atsushi Enomoto <atsushi@ximian.com>
96 * JsonReader.cs : copy string literal parser from System.Json.
98 2009-09-22 Atsushi Enomoto <atsushi@ximian.com>
100 * JsonSerializationWriter.cs : output "type" attribute on bool
102 * JsonSerializationReader.cs : type loading attempt was insufficient
103 and hence often missed indicated types to deserialize.
105 2009-09-15 Atsushi Enomoto <atsushi@ximian.com>
107 * JsonWriter.cs : use Stream as its output directly and avoid
108 extraneous preamble output. Fix interop with .NET.
110 2009-09-07 Atsushi Enomoto <atsushi@ximian.com>
112 * JsonReaderWriterFactory.cs : check null stream (fix test failure).
114 2009-03-13 Andreia Gaita <avidigal@novell.com>
116 * JsonReader.cs: fix depth calculation
118 2009-03-12 Geoff Norton <gnorton@novell.com>
120 * TypeMap.cs: Avoid checking the getter/setter information until after
121 checking if we have the required attribute decorated.
123 2009-03-12 Andreia Gaita <avidigal@novell.com>
125 * JsonReaderWriterFactory.cs: try to auto-detect encoding for streams
128 2009-03-02 Chris Toshok <toshok@ximian.com>
130 * JsonReader.cs: 2.1 has HasValue.
132 2009-02-02 Atsushi Enomoto <atsushi@ximian.com>
134 * JsonReader.cs : show invalid input character in the error
137 2009-02-02 Atsushi Enomoto <atsushi@ximian.com>
139 * TypeMap.cs : in 2.1 do not use non-2.1 CreateInstance().
141 2009-02-02 Atsushi Enomoto <atsushi@ximian.com>
143 * TypeMap.cs : allow get-only collections. Note that they are not
144 always deserializable (in .NET either).
146 2009-02-02 Atsushi Enomoto <atsushi@ximian.com>
148 * TypeMap.cs : DataContractJsonSerializer in RTM does not seem to
149 reject contract-less types. So populate map for public members.
150 * DataContractJsonSerializer.cs : close XmlWriter to flush stream
151 (and it closes the stream by default).
153 2009-02-02 Andreia Gaita <avidigal@novell.com>
155 * JsonSerializationReader.cs : Use 2.1 "approved" calls for Enum.Parse
156 and Convert.ChangeType
158 2008-02-18 Atsushi Enomoto <atsushi@ximian.com>
160 * DataContractJsonSerializer.cs : IsStartObject() could raise
161 an arbitrary exception, so wrap it inside try-catch too to enclose
162 with SerializationException.
163 * JsonSerializationReader.cs : support DBNull.
165 2008-01-30 Atsushi Enomoto <atsushi@ximian.com>
167 * DataContractJsonSerializer.cs : fixed .ctor(type, knonwTypes) that
168 missed to delegate knownTypes correctly.
169 * JsonSerializationReader.cs : consider KnownTypes correctly.
170 Take "__type" fully into consideration, not just for arrays.
172 2008-01-30 Atsushi Enomoto <atsushi@ximian.com>
174 * JsonReader.cs : GetAttribute() was not still missing support for
177 2008-01-30 Atsushi Enomoto <atsushi@ximian.com>
179 * JsonReader.cs : now __type is fully supported in every methods and
180 properties in correct shape.
182 2008-01-30 Atsushi Enomoto <atsushi@ximian.com>
184 * JsonReader.cs : Do not consume "__type" (which is the first content
185 of an object) as an element content. It must be handled as an
186 attribute (it needs more changes).
188 2008-01-24 Atsushi Enomoto <atsushi@ximian.com>
190 * JsonSerializationReader.cs : when deserializing primitive strings,
191 make use of "type" attribute (they are supposed to exist).
192 Output source reader location if available.
193 * JsonReader.cs : implement IXmlLineInfo.
195 2008-01-24 Atsushi Enomoto <atsushi@ximian.com>
197 * JsonSerializationReader.cs : new, for JSON deserialization support.
198 * DataContractJsonSerializer.cs, TypeMap.cs :
199 basic support for deserialization.
201 2008-01-24 Atsushi Enomoto <atsushi@ximian.com>
203 * DataContractJsonSerializer.cs,
205 JsonSerializationWriter.cs : split the first to those three files.
207 2008-01-24 Atsushi Enomoto <atsushi@ximian.com>
209 * DataContractJsonSerializer.cs : Uri and Guid are serialized as
210 string. XmlQualifiedName is serialized as local:ns.
212 2008-01-22 Atsushi Enomoto <atsushi@ximian.com>
214 * JsonWriter.cs : allow __type attribute. It required couple of
215 changes all around the class.
216 * DataContractJsonSerializer.cs : implemented large part of
217 serialization support (deserialization is not done yet).
219 2007-12-05 Atsushi Enomoto <atsushi@ximian.com>
221 * DataContractJsonSerializer.cs :
222 moved from System.Runtime.Serialization and changed the namespace.
223 * JsonReader.cs, JsonWriter.cs, JsonReaderWriterFactory.cs,
224 IXmlJsonReaderInitializer.cs, IXmlJsonWriterInitializer.cs :
225 moved from System.Xml and changed the namespace.