1 2010-04-24 Atsushi Enomoto <atsushi@ximian.com>
3 * JsonSerializationReader.cs : use List<T> if the contract member
6 2010-03-16 Jb Evain <jbevain@novell.com>
8 * DataContractJsonSerializer.cs: use MOONLIGHT symbol to
9 disambiguate MonoTouch and Moonlight code.
11 2010-03-13 Kornél Pál <kornelpal@gmail.com>
13 * JavaScriptReader.cs: Deserialize "false" correctly.
16 2010-03-10 Atsushi Enomoto <atsushi@ximian.com>
18 * JavaScriptReader.cs : moved from Sys.Json/JsonReader.cs.
20 2010-03-10 Atsushi Enomoto <atsushi@ximian.com>
22 * JavaScriptObjectDeserializer.cs : new internal file, which is
23 used by System.Json (for moonlight compatibility).
25 2010-03-09 Atsushi Enomoto <atsushi@ximian.com>
27 * JsonSerializationWriter.cs, JsonSerializationReader.cs,
28 JsonWriter.cs : Fix DateTime serialization and "\/" string escape
29 issues. Fixed bug #586169.
31 2010-02-24 Atsushi Enomoto <atsushi@ximian.com>
33 * JsonWriter.cs : write NaN, INF, -INF as JSON string, not JSON number.
36 2010-01-27 Atsushi Enomoto <atsushi@ximian.com>
38 * DataContractJsonSerializer.cs : KnownTypes does not include root
39 type. Fixed bug #573689.
41 2010-01-27 Atsushi Enomoto <atsushi@ximian.com>
43 * JsonSerializationReader.cs : oops, wrong fix, should consume the
46 2010-01-27 Atsushi Enomoto <atsushi@ximian.com>
48 * JsonSerializationReader.cs : "null" for string should be read as
49 null, not String.Empty. Fixed bug #573690.
51 2010-01-26 Sebastien Pouliot <sebastien@ximian.com>
53 * DataContractJsonSerializer_2_1.cs: Don't hide [Field|Method]
54 AccessException inside a SerializationException but in a
57 2010-01-25 Sebastien Pouliot <sebastien@ximian.com>
59 * DataContractJsonSerializer_2_1.cs: New. Simpler version for
60 Moonlight since it does not inherit from the same base type nor
61 does it overrides any base methods.
63 2010-01-08 Atsushi Enomoto <atsushi@ximian.com>
65 * TypeMap.cs : forward port r145077 (see change line for 2009-10-29).
67 2009-12-14 Atsushi Enomoto <atsushi@ximian.com>
69 * TypeMap.cs : handle [Serializable] objects such as KeyValuePair<,>
70 like we do in 2.0. Removed previous workarounds. (Do not serialize
71 and deserialize nonpublic members in "default" mappings.)
73 2009-12-11 Chris Toshok <toshok@ximian.com>
75 * TypeMap.cs (CreateDefaultTypeMap): only include non-public
76 property info when dealing with KeyValuePair<,>. This is *not*
77 the way MS handles it, but we emulate things much better with this
80 2009-12-11 Atsushi Enomoto <atsushi@ximian.com>
82 * JsonReader.cs : e- and e+ was resulting in wrong parse error.
83 This should fix part of bug #531904.
85 2009-12-08 Chris Toshok <toshok@ximian.com>
87 * JsonSerializationReader.cs (DeserializeGenericCollection): in
88 the 2.1 case we still need to convert the List<> to an array.
90 2009-12-07 Chris Toshok <toshok@ximian.com>
92 * JsonReaderWriterFactory.cs (CreateJsonReader): pass null for the
93 encoding parameter instead of calling Detect. The jsonreader's
94 PushbackReader will autodetect.
95 (Detect): remove. a BufferedStream created from an unseekable
96 stream is itself unseekable, which makes it just as useless. This
97 breaks netflix's isostore file parsing.
99 * JsonReader.cs (PushbackReader): add a ctor which doesn't take an
100 encoding, for the autodetecting reader case. for this ctor, pass
101 true to StreamReader's ctor for detectEncodingFromByteOrderMarks.
103 2009-12-06 Chris Toshok <toshok@ximian.com>
105 * JsonSerializationReader.cs (DeserializeGenericCollection): this
106 is jb's (iirc) patch, actually. Types subclassing from
107 ICollection<T> need to be supported, and since it's an interface
108 the implementation might be explicit. So instead of groveling
109 around in the actual type, we need to dispatch through the
112 * TypeMap.cs (CreateDefaultTypeMap): we need to include non-public
113 properties, since KeyValuePair items must be able to write to Key
114 and Value properties.
116 * JsonReader.cs (ReadContent): for builtin values (null, true,
117 false), use TryReadString instead of individual ReadChar's, since
118 they aren't reversible if the string didn't match. In the default
119 case, if we're LameSilverlightLiseralParser, we need to push back
120 the current character onto the stream -- this is because for
121 netflix's AppConfig.json we were parsing "frameRatePolicy" as
122 "rameRatePolicy" (the 'f' was triggering the "false" parsing).
123 (class PushBackReader): add this class to unify all the pushing
124 back of characters we need to do. 1 character (JsonReader's old
125 "saved_char") isn't enough given that you could have a property
126 named, e.g., "falsifiable", and we'd need 4 characters worth of
127 pushback to recognize that correctly.
129 2009-11-20 Atsushi Enomoto <atsushi@ximian.com>
131 * DataContractJsonSerializer.cs, JsonReader.cs : Silverlight uses
132 LAME parser that allows object member name as *raw* string
133 without double-quotes. (This also reverts the previous change.)
135 2009-11-12 Atsushi Enomoto <atsushi@ximian.com>
137 * JsonSerializationReader.cs : reuse generic collection search
138 logic in KnownTypeCollection.cs. Fixed bug #551671.
140 2009-10-30 Andreia Gaita <avidigal@novell.com>
142 * DataContractJsonSerializer.cs: SL accepts keys without "", so tweak
143 the data to fix the quotes before passing it to the deserializer
145 2009-10-29 Chris Toshok <toshok@ximian.com>
147 * TypeMap.cs (Deserialize): use
148 FormatterServices.GetUninitializedObject instead of
149 Activator.CreateInstance, since we shouldn't be invoking the
152 (forward ported to trunk on 2010-01-08 by atsushi)
154 2009-10-23 Atsushi Enomoto <atsushi@ximian.com>
156 * DataContractJsonSerializer.cs
158 JsonSerializationReader.cs : add experimental monotouch build.
160 2009-10-08 Atsushi Enomoto <atsushi@ximian.com>
162 * DataContractJsonSerializer.cs, JsonSerializationWriter.cs:
163 alwaysEmitTypeInformation is false by default. It is for __type
164 attribute, not for type attribute. __type name is always with ":#".
165 * TypeMap.cs : sort members in default typemap (it is ordered).
166 Uncomment EmitDefaultValue.
167 * JsonWriter.cs : handle "null" string (it is somewhat messy).
169 2009-10-05 Atsushi Enomoto <atsushi@ximian.com>
171 * JsonReader.cs : copy string literal parser from System.Json.
173 2009-09-22 Atsushi Enomoto <atsushi@ximian.com>
175 * JsonSerializationWriter.cs : output "type" attribute on bool
177 * JsonSerializationReader.cs : type loading attempt was insufficient
178 and hence often missed indicated types to deserialize.
180 2009-09-15 Atsushi Enomoto <atsushi@ximian.com>
182 * JsonWriter.cs : use Stream as its output directly and avoid
183 extraneous preamble output. Fix interop with .NET.
185 2009-09-07 Atsushi Enomoto <atsushi@ximian.com>
187 * JsonReaderWriterFactory.cs : check null stream (fix test failure).
189 2009-03-13 Andreia Gaita <avidigal@novell.com>
191 * JsonReader.cs: fix depth calculation
193 2009-03-12 Geoff Norton <gnorton@novell.com>
195 * TypeMap.cs: Avoid checking the getter/setter information until after
196 checking if we have the required attribute decorated.
198 2009-03-12 Andreia Gaita <avidigal@novell.com>
200 * JsonReaderWriterFactory.cs: try to auto-detect encoding for streams
203 2009-03-02 Chris Toshok <toshok@ximian.com>
205 * JsonReader.cs: 2.1 has HasValue.
207 2009-02-02 Atsushi Enomoto <atsushi@ximian.com>
209 * JsonReader.cs : show invalid input character in the error
212 2009-02-02 Atsushi Enomoto <atsushi@ximian.com>
214 * TypeMap.cs : in 2.1 do not use non-2.1 CreateInstance().
216 2009-02-02 Atsushi Enomoto <atsushi@ximian.com>
218 * TypeMap.cs : allow get-only collections. Note that they are not
219 always deserializable (in .NET either).
221 2009-02-02 Atsushi Enomoto <atsushi@ximian.com>
223 * TypeMap.cs : DataContractJsonSerializer in RTM does not seem to
224 reject contract-less types. So populate map for public members.
225 * DataContractJsonSerializer.cs : close XmlWriter to flush stream
226 (and it closes the stream by default).
228 2009-02-02 Andreia Gaita <avidigal@novell.com>
230 * JsonSerializationReader.cs : Use 2.1 "approved" calls for Enum.Parse
231 and Convert.ChangeType
233 2008-02-18 Atsushi Enomoto <atsushi@ximian.com>
235 * DataContractJsonSerializer.cs : IsStartObject() could raise
236 an arbitrary exception, so wrap it inside try-catch too to enclose
237 with SerializationException.
238 * JsonSerializationReader.cs : support DBNull.
240 2008-01-30 Atsushi Enomoto <atsushi@ximian.com>
242 * DataContractJsonSerializer.cs : fixed .ctor(type, knonwTypes) that
243 missed to delegate knownTypes correctly.
244 * JsonSerializationReader.cs : consider KnownTypes correctly.
245 Take "__type" fully into consideration, not just for arrays.
247 2008-01-30 Atsushi Enomoto <atsushi@ximian.com>
249 * JsonReader.cs : GetAttribute() was not still missing support for
252 2008-01-30 Atsushi Enomoto <atsushi@ximian.com>
254 * JsonReader.cs : now __type is fully supported in every methods and
255 properties in correct shape.
257 2008-01-30 Atsushi Enomoto <atsushi@ximian.com>
259 * JsonReader.cs : Do not consume "__type" (which is the first content
260 of an object) as an element content. It must be handled as an
261 attribute (it needs more changes).
263 2008-01-24 Atsushi Enomoto <atsushi@ximian.com>
265 * JsonSerializationReader.cs : when deserializing primitive strings,
266 make use of "type" attribute (they are supposed to exist).
267 Output source reader location if available.
268 * JsonReader.cs : implement IXmlLineInfo.
270 2008-01-24 Atsushi Enomoto <atsushi@ximian.com>
272 * JsonSerializationReader.cs : new, for JSON deserialization support.
273 * DataContractJsonSerializer.cs, TypeMap.cs :
274 basic support for deserialization.
276 2008-01-24 Atsushi Enomoto <atsushi@ximian.com>
278 * DataContractJsonSerializer.cs,
280 JsonSerializationWriter.cs : split the first to those three files.
282 2008-01-24 Atsushi Enomoto <atsushi@ximian.com>
284 * DataContractJsonSerializer.cs : Uri and Guid are serialized as
285 string. XmlQualifiedName is serialized as local:ns.
287 2008-01-22 Atsushi Enomoto <atsushi@ximian.com>
289 * JsonWriter.cs : allow __type attribute. It required couple of
290 changes all around the class.
291 * DataContractJsonSerializer.cs : implemented large part of
292 serialization support (deserialization is not done yet).
294 2007-12-05 Atsushi Enomoto <atsushi@ximian.com>
296 * DataContractJsonSerializer.cs :
297 moved from System.Runtime.Serialization and changed the namespace.
298 * JsonReader.cs, JsonWriter.cs, JsonReaderWriterFactory.cs,
299 IXmlJsonReaderInitializer.cs, IXmlJsonWriterInitializer.cs :
300 moved from System.Xml and changed the namespace.