1 2010-07-27 Andreia Gaita <avidigal@novell.com>
3 * JsonSerializationReader.cs: Add Char type to the switch. Reads the
4 content as a string and validates its length
6 2010-07-27 Andreia Gaita <avidigal@novell.com>
8 * JsonSerializationReader.cs, JsonSerializationWriter.cs:
9 Add a special case for IDictionary, since KeyValuePair objects
10 have private setters and can't be processed via the normal
13 2010-07-06 Atsushi Enomoto <atsushi@ximian.com>
16 Do not try to add static members as serialization targets.
17 Support OnDeserializing and OnDeserialized. Fixed bug #615800.
19 2010-07-06 Atsushi Enomoto <atsushi@ximian.com>
21 * JsonSerializationWriter.cs : it cannot serialize DateTime in
22 double, which causes crash in deserializer.
24 2010-07-06 Atsushi Enomoto <atsushi@ximian.com>
26 * TypeMap.cs : when an object is null, return null, not just an
29 2010-07-06 Atsushi Enomoto <atsushi@ximian.com>
31 * DataContractJsonSerializer_2_1.cs : add extra methods for
32 Sys.SM.Web.Extensions build.
34 2010-07-06 Atsushi Enomoto <atsushi@ximian.com>
36 * JsonReader.cs : do not keep Attribute state once Read() is called.
38 2010-04-24 Atsushi Enomoto <atsushi@ximian.com>
40 * JsonSerializationReader.cs : use List<T> if the contract member
43 2010-03-16 Jb Evain <jbevain@novell.com>
45 * DataContractJsonSerializer.cs: use MOONLIGHT symbol to
46 disambiguate MonoTouch and Moonlight code.
48 2010-03-13 Kornél Pál <kornelpal@gmail.com>
50 * JavaScriptReader.cs: Deserialize "false" correctly.
53 2010-03-10 Atsushi Enomoto <atsushi@ximian.com>
55 * JavaScriptReader.cs : moved from Sys.Json/JsonReader.cs.
57 2010-03-10 Atsushi Enomoto <atsushi@ximian.com>
59 * JavaScriptObjectDeserializer.cs : new internal file, which is
60 used by System.Json (for moonlight compatibility).
62 2010-03-09 Atsushi Enomoto <atsushi@ximian.com>
64 * JsonSerializationWriter.cs, JsonSerializationReader.cs,
65 JsonWriter.cs : Fix DateTime serialization and "\/" string escape
66 issues. Fixed bug #586169.
68 2010-02-24 Atsushi Enomoto <atsushi@ximian.com>
70 * JsonWriter.cs : write NaN, INF, -INF as JSON string, not JSON number.
73 2010-01-27 Atsushi Enomoto <atsushi@ximian.com>
75 * DataContractJsonSerializer.cs : KnownTypes does not include root
76 type. Fixed bug #573689.
78 2010-01-27 Atsushi Enomoto <atsushi@ximian.com>
80 * JsonSerializationReader.cs : oops, wrong fix, should consume the
83 2010-01-27 Atsushi Enomoto <atsushi@ximian.com>
85 * JsonSerializationReader.cs : "null" for string should be read as
86 null, not String.Empty. Fixed bug #573690.
88 2010-01-26 Sebastien Pouliot <sebastien@ximian.com>
90 * DataContractJsonSerializer_2_1.cs: Don't hide [Field|Method]
91 AccessException inside a SerializationException but in a
94 2010-01-25 Sebastien Pouliot <sebastien@ximian.com>
96 * DataContractJsonSerializer_2_1.cs: New. Simpler version for
97 Moonlight since it does not inherit from the same base type nor
98 does it overrides any base methods.
100 2010-01-08 Atsushi Enomoto <atsushi@ximian.com>
102 * TypeMap.cs : forward port r145077 (see change line for 2009-10-29).
104 2009-12-14 Atsushi Enomoto <atsushi@ximian.com>
106 * TypeMap.cs : handle [Serializable] objects such as KeyValuePair<,>
107 like we do in 2.0. Removed previous workarounds. (Do not serialize
108 and deserialize nonpublic members in "default" mappings.)
110 2009-12-11 Chris Toshok <toshok@ximian.com>
112 * TypeMap.cs (CreateDefaultTypeMap): only include non-public
113 property info when dealing with KeyValuePair<,>. This is *not*
114 the way MS handles it, but we emulate things much better with this
117 2009-12-11 Atsushi Enomoto <atsushi@ximian.com>
119 * JsonReader.cs : e- and e+ was resulting in wrong parse error.
120 This should fix part of bug #531904.
122 2009-12-08 Chris Toshok <toshok@ximian.com>
124 * JsonSerializationReader.cs (DeserializeGenericCollection): in
125 the 2.1 case we still need to convert the List<> to an array.
127 2009-12-07 Chris Toshok <toshok@ximian.com>
129 * JsonReaderWriterFactory.cs (CreateJsonReader): pass null for the
130 encoding parameter instead of calling Detect. The jsonreader's
131 PushbackReader will autodetect.
132 (Detect): remove. a BufferedStream created from an unseekable
133 stream is itself unseekable, which makes it just as useless. This
134 breaks netflix's isostore file parsing.
136 * JsonReader.cs (PushbackReader): add a ctor which doesn't take an
137 encoding, for the autodetecting reader case. for this ctor, pass
138 true to StreamReader's ctor for detectEncodingFromByteOrderMarks.
140 2009-12-06 Chris Toshok <toshok@ximian.com>
142 * JsonSerializationReader.cs (DeserializeGenericCollection): this
143 is jb's (iirc) patch, actually. Types subclassing from
144 ICollection<T> need to be supported, and since it's an interface
145 the implementation might be explicit. So instead of groveling
146 around in the actual type, we need to dispatch through the
149 * TypeMap.cs (CreateDefaultTypeMap): we need to include non-public
150 properties, since KeyValuePair items must be able to write to Key
151 and Value properties.
153 * JsonReader.cs (ReadContent): for builtin values (null, true,
154 false), use TryReadString instead of individual ReadChar's, since
155 they aren't reversible if the string didn't match. In the default
156 case, if we're LameSilverlightLiseralParser, we need to push back
157 the current character onto the stream -- this is because for
158 netflix's AppConfig.json we were parsing "frameRatePolicy" as
159 "rameRatePolicy" (the 'f' was triggering the "false" parsing).
160 (class PushBackReader): add this class to unify all the pushing
161 back of characters we need to do. 1 character (JsonReader's old
162 "saved_char") isn't enough given that you could have a property
163 named, e.g., "falsifiable", and we'd need 4 characters worth of
164 pushback to recognize that correctly.
166 2009-11-20 Atsushi Enomoto <atsushi@ximian.com>
168 * DataContractJsonSerializer.cs, JsonReader.cs : Silverlight uses
169 LAME parser that allows object member name as *raw* string
170 without double-quotes. (This also reverts the previous change.)
172 2009-11-12 Atsushi Enomoto <atsushi@ximian.com>
174 * JsonSerializationReader.cs : reuse generic collection search
175 logic in KnownTypeCollection.cs. Fixed bug #551671.
177 2009-10-30 Andreia Gaita <avidigal@novell.com>
179 * DataContractJsonSerializer.cs: SL accepts keys without "", so tweak
180 the data to fix the quotes before passing it to the deserializer
182 2009-10-29 Chris Toshok <toshok@ximian.com>
184 * TypeMap.cs (Deserialize): use
185 FormatterServices.GetUninitializedObject instead of
186 Activator.CreateInstance, since we shouldn't be invoking the
189 (forward ported to trunk on 2010-01-08 by atsushi)
191 2009-10-23 Atsushi Enomoto <atsushi@ximian.com>
193 * DataContractJsonSerializer.cs
195 JsonSerializationReader.cs : add experimental monotouch build.
197 2009-10-08 Atsushi Enomoto <atsushi@ximian.com>
199 * DataContractJsonSerializer.cs, JsonSerializationWriter.cs:
200 alwaysEmitTypeInformation is false by default. It is for __type
201 attribute, not for type attribute. __type name is always with ":#".
202 * TypeMap.cs : sort members in default typemap (it is ordered).
203 Uncomment EmitDefaultValue.
204 * JsonWriter.cs : handle "null" string (it is somewhat messy).
206 2009-10-05 Atsushi Enomoto <atsushi@ximian.com>
208 * JsonReader.cs : copy string literal parser from System.Json.
210 2009-09-22 Atsushi Enomoto <atsushi@ximian.com>
212 * JsonSerializationWriter.cs : output "type" attribute on bool
214 * JsonSerializationReader.cs : type loading attempt was insufficient
215 and hence often missed indicated types to deserialize.
217 2009-09-15 Atsushi Enomoto <atsushi@ximian.com>
219 * JsonWriter.cs : use Stream as its output directly and avoid
220 extraneous preamble output. Fix interop with .NET.
222 2009-09-07 Atsushi Enomoto <atsushi@ximian.com>
224 * JsonReaderWriterFactory.cs : check null stream (fix test failure).
226 2009-03-13 Andreia Gaita <avidigal@novell.com>
228 * JsonReader.cs: fix depth calculation
230 2009-03-12 Geoff Norton <gnorton@novell.com>
232 * TypeMap.cs: Avoid checking the getter/setter information until after
233 checking if we have the required attribute decorated.
235 2009-03-12 Andreia Gaita <avidigal@novell.com>
237 * JsonReaderWriterFactory.cs: try to auto-detect encoding for streams
240 2009-03-02 Chris Toshok <toshok@ximian.com>
242 * JsonReader.cs: 2.1 has HasValue.
244 2009-02-02 Atsushi Enomoto <atsushi@ximian.com>
246 * JsonReader.cs : show invalid input character in the error
249 2009-02-02 Atsushi Enomoto <atsushi@ximian.com>
251 * TypeMap.cs : in 2.1 do not use non-2.1 CreateInstance().
253 2009-02-02 Atsushi Enomoto <atsushi@ximian.com>
255 * TypeMap.cs : allow get-only collections. Note that they are not
256 always deserializable (in .NET either).
258 2009-02-02 Atsushi Enomoto <atsushi@ximian.com>
260 * TypeMap.cs : DataContractJsonSerializer in RTM does not seem to
261 reject contract-less types. So populate map for public members.
262 * DataContractJsonSerializer.cs : close XmlWriter to flush stream
263 (and it closes the stream by default).
265 2009-02-02 Andreia Gaita <avidigal@novell.com>
267 * JsonSerializationReader.cs : Use 2.1 "approved" calls for Enum.Parse
268 and Convert.ChangeType
270 2008-02-18 Atsushi Enomoto <atsushi@ximian.com>
272 * DataContractJsonSerializer.cs : IsStartObject() could raise
273 an arbitrary exception, so wrap it inside try-catch too to enclose
274 with SerializationException.
275 * JsonSerializationReader.cs : support DBNull.
277 2008-01-30 Atsushi Enomoto <atsushi@ximian.com>
279 * DataContractJsonSerializer.cs : fixed .ctor(type, knonwTypes) that
280 missed to delegate knownTypes correctly.
281 * JsonSerializationReader.cs : consider KnownTypes correctly.
282 Take "__type" fully into consideration, not just for arrays.
284 2008-01-30 Atsushi Enomoto <atsushi@ximian.com>
286 * JsonReader.cs : GetAttribute() was not still missing support for
289 2008-01-30 Atsushi Enomoto <atsushi@ximian.com>
291 * JsonReader.cs : now __type is fully supported in every methods and
292 properties in correct shape.
294 2008-01-30 Atsushi Enomoto <atsushi@ximian.com>
296 * JsonReader.cs : Do not consume "__type" (which is the first content
297 of an object) as an element content. It must be handled as an
298 attribute (it needs more changes).
300 2008-01-24 Atsushi Enomoto <atsushi@ximian.com>
302 * JsonSerializationReader.cs : when deserializing primitive strings,
303 make use of "type" attribute (they are supposed to exist).
304 Output source reader location if available.
305 * JsonReader.cs : implement IXmlLineInfo.
307 2008-01-24 Atsushi Enomoto <atsushi@ximian.com>
309 * JsonSerializationReader.cs : new, for JSON deserialization support.
310 * DataContractJsonSerializer.cs, TypeMap.cs :
311 basic support for deserialization.
313 2008-01-24 Atsushi Enomoto <atsushi@ximian.com>
315 * DataContractJsonSerializer.cs,
317 JsonSerializationWriter.cs : split the first to those three files.
319 2008-01-24 Atsushi Enomoto <atsushi@ximian.com>
321 * DataContractJsonSerializer.cs : Uri and Guid are serialized as
322 string. XmlQualifiedName is serialized as local:ns.
324 2008-01-22 Atsushi Enomoto <atsushi@ximian.com>
326 * JsonWriter.cs : allow __type attribute. It required couple of
327 changes all around the class.
328 * DataContractJsonSerializer.cs : implemented large part of
329 serialization support (deserialization is not done yet).
331 2007-12-05 Atsushi Enomoto <atsushi@ximian.com>
333 * DataContractJsonSerializer.cs :
334 moved from System.Runtime.Serialization and changed the namespace.
335 * JsonReader.cs, JsonWriter.cs, JsonReaderWriterFactory.cs,
336 IXmlJsonReaderInitializer.cs, IXmlJsonWriterInitializer.cs :
337 moved from System.Xml and changed the namespace.