1 2010-03-10 Atsushi Enomoto <atsushi@ximian.com>
3 * JavaScriptReader.cs : moved from Sys.Json/JsonReader.cs.
5 2010-03-10 Atsushi Enomoto <atsushi@ximian.com>
7 * JavaScriptObjectDeserializer.cs : new internal file, which is
8 used by System.Json (for moonlight compatibility).
10 2010-03-09 Atsushi Enomoto <atsushi@ximian.com>
12 * JsonSerializationWriter.cs, JsonSerializationReader.cs,
13 JsonWriter.cs : Fix DateTime serialization and "\/" string escape
14 issues. Fixed bug #586169.
16 2010-02-24 Atsushi Enomoto <atsushi@ximian.com>
18 * JsonWriter.cs : write NaN, INF, -INF as JSON string, not JSON number.
21 2010-01-27 Atsushi Enomoto <atsushi@ximian.com>
23 * DataContractJsonSerializer.cs : KnownTypes does not include root
24 type. Fixed bug #573689.
26 2010-01-27 Atsushi Enomoto <atsushi@ximian.com>
28 * JsonSerializationReader.cs : oops, wrong fix, should consume the
31 2010-01-27 Atsushi Enomoto <atsushi@ximian.com>
33 * JsonSerializationReader.cs : "null" for string should be read as
34 null, not String.Empty. Fixed bug #573690.
36 2010-01-26 Sebastien Pouliot <sebastien@ximian.com>
38 * DataContractJsonSerializer_2_1.cs: Don't hide [Field|Method]
39 AccessException inside a SerializationException but in a
42 2010-01-25 Sebastien Pouliot <sebastien@ximian.com>
44 * DataContractJsonSerializer_2_1.cs: New. Simpler version for
45 Moonlight since it does not inherit from the same base type nor
46 does it overrides any base methods.
48 2010-01-08 Atsushi Enomoto <atsushi@ximian.com>
50 * TypeMap.cs : forward port r145077 (see change line for 2009-10-29).
52 2009-12-14 Atsushi Enomoto <atsushi@ximian.com>
54 * TypeMap.cs : handle [Serializable] objects such as KeyValuePair<,>
55 like we do in 2.0. Removed previous workarounds. (Do not serialize
56 and deserialize nonpublic members in "default" mappings.)
58 2009-12-11 Chris Toshok <toshok@ximian.com>
60 * TypeMap.cs (CreateDefaultTypeMap): only include non-public
61 property info when dealing with KeyValuePair<,>. This is *not*
62 the way MS handles it, but we emulate things much better with this
65 2009-12-11 Atsushi Enomoto <atsushi@ximian.com>
67 * JsonReader.cs : e- and e+ was resulting in wrong parse error.
68 This should fix part of bug #531904.
70 2009-12-08 Chris Toshok <toshok@ximian.com>
72 * JsonSerializationReader.cs (DeserializeGenericCollection): in
73 the 2.1 case we still need to convert the List<> to an array.
75 2009-12-07 Chris Toshok <toshok@ximian.com>
77 * JsonReaderWriterFactory.cs (CreateJsonReader): pass null for the
78 encoding parameter instead of calling Detect. The jsonreader's
79 PushbackReader will autodetect.
80 (Detect): remove. a BufferedStream created from an unseekable
81 stream is itself unseekable, which makes it just as useless. This
82 breaks netflix's isostore file parsing.
84 * JsonReader.cs (PushbackReader): add a ctor which doesn't take an
85 encoding, for the autodetecting reader case. for this ctor, pass
86 true to StreamReader's ctor for detectEncodingFromByteOrderMarks.
88 2009-12-06 Chris Toshok <toshok@ximian.com>
90 * JsonSerializationReader.cs (DeserializeGenericCollection): this
91 is jb's (iirc) patch, actually. Types subclassing from
92 ICollection<T> need to be supported, and since it's an interface
93 the implementation might be explicit. So instead of groveling
94 around in the actual type, we need to dispatch through the
97 * TypeMap.cs (CreateDefaultTypeMap): we need to include non-public
98 properties, since KeyValuePair items must be able to write to Key
101 * JsonReader.cs (ReadContent): for builtin values (null, true,
102 false), use TryReadString instead of individual ReadChar's, since
103 they aren't reversible if the string didn't match. In the default
104 case, if we're LameSilverlightLiseralParser, we need to push back
105 the current character onto the stream -- this is because for
106 netflix's AppConfig.json we were parsing "frameRatePolicy" as
107 "rameRatePolicy" (the 'f' was triggering the "false" parsing).
108 (class PushBackReader): add this class to unify all the pushing
109 back of characters we need to do. 1 character (JsonReader's old
110 "saved_char") isn't enough given that you could have a property
111 named, e.g., "falsifiable", and we'd need 4 characters worth of
112 pushback to recognize that correctly.
114 2009-11-20 Atsushi Enomoto <atsushi@ximian.com>
116 * DataContractJsonSerializer.cs, JsonReader.cs : Silverlight uses
117 LAME parser that allows object member name as *raw* string
118 without double-quotes. (This also reverts the previous change.)
120 2009-11-12 Atsushi Enomoto <atsushi@ximian.com>
122 * JsonSerializationReader.cs : reuse generic collection search
123 logic in KnownTypeCollection.cs. Fixed bug #551671.
125 2009-10-30 Andreia Gaita <avidigal@novell.com>
127 * DataContractJsonSerializer.cs: SL accepts keys without "", so tweak
128 the data to fix the quotes before passing it to the deserializer
130 2009-10-29 Chris Toshok <toshok@ximian.com>
132 * TypeMap.cs (Deserialize): use
133 FormatterServices.GetUninitializedObject instead of
134 Activator.CreateInstance, since we shouldn't be invoking the
137 (forward ported to trunk on 2010-01-08 by atsushi)
139 2009-10-23 Atsushi Enomoto <atsushi@ximian.com>
141 * DataContractJsonSerializer.cs
143 JsonSerializationReader.cs : add experimental monotouch build.
145 2009-10-08 Atsushi Enomoto <atsushi@ximian.com>
147 * DataContractJsonSerializer.cs, JsonSerializationWriter.cs:
148 alwaysEmitTypeInformation is false by default. It is for __type
149 attribute, not for type attribute. __type name is always with ":#".
150 * TypeMap.cs : sort members in default typemap (it is ordered).
151 Uncomment EmitDefaultValue.
152 * JsonWriter.cs : handle "null" string (it is somewhat messy).
154 2009-10-05 Atsushi Enomoto <atsushi@ximian.com>
156 * JsonReader.cs : copy string literal parser from System.Json.
158 2009-09-22 Atsushi Enomoto <atsushi@ximian.com>
160 * JsonSerializationWriter.cs : output "type" attribute on bool
162 * JsonSerializationReader.cs : type loading attempt was insufficient
163 and hence often missed indicated types to deserialize.
165 2009-09-15 Atsushi Enomoto <atsushi@ximian.com>
167 * JsonWriter.cs : use Stream as its output directly and avoid
168 extraneous preamble output. Fix interop with .NET.
170 2009-09-07 Atsushi Enomoto <atsushi@ximian.com>
172 * JsonReaderWriterFactory.cs : check null stream (fix test failure).
174 2009-03-13 Andreia Gaita <avidigal@novell.com>
176 * JsonReader.cs: fix depth calculation
178 2009-03-12 Geoff Norton <gnorton@novell.com>
180 * TypeMap.cs: Avoid checking the getter/setter information until after
181 checking if we have the required attribute decorated.
183 2009-03-12 Andreia Gaita <avidigal@novell.com>
185 * JsonReaderWriterFactory.cs: try to auto-detect encoding for streams
188 2009-03-02 Chris Toshok <toshok@ximian.com>
190 * JsonReader.cs: 2.1 has HasValue.
192 2009-02-02 Atsushi Enomoto <atsushi@ximian.com>
194 * JsonReader.cs : show invalid input character in the error
197 2009-02-02 Atsushi Enomoto <atsushi@ximian.com>
199 * TypeMap.cs : in 2.1 do not use non-2.1 CreateInstance().
201 2009-02-02 Atsushi Enomoto <atsushi@ximian.com>
203 * TypeMap.cs : allow get-only collections. Note that they are not
204 always deserializable (in .NET either).
206 2009-02-02 Atsushi Enomoto <atsushi@ximian.com>
208 * TypeMap.cs : DataContractJsonSerializer in RTM does not seem to
209 reject contract-less types. So populate map for public members.
210 * DataContractJsonSerializer.cs : close XmlWriter to flush stream
211 (and it closes the stream by default).
213 2009-02-02 Andreia Gaita <avidigal@novell.com>
215 * JsonSerializationReader.cs : Use 2.1 "approved" calls for Enum.Parse
216 and Convert.ChangeType
218 2008-02-18 Atsushi Enomoto <atsushi@ximian.com>
220 * DataContractJsonSerializer.cs : IsStartObject() could raise
221 an arbitrary exception, so wrap it inside try-catch too to enclose
222 with SerializationException.
223 * JsonSerializationReader.cs : support DBNull.
225 2008-01-30 Atsushi Enomoto <atsushi@ximian.com>
227 * DataContractJsonSerializer.cs : fixed .ctor(type, knonwTypes) that
228 missed to delegate knownTypes correctly.
229 * JsonSerializationReader.cs : consider KnownTypes correctly.
230 Take "__type" fully into consideration, not just for arrays.
232 2008-01-30 Atsushi Enomoto <atsushi@ximian.com>
234 * JsonReader.cs : GetAttribute() was not still missing support for
237 2008-01-30 Atsushi Enomoto <atsushi@ximian.com>
239 * JsonReader.cs : now __type is fully supported in every methods and
240 properties in correct shape.
242 2008-01-30 Atsushi Enomoto <atsushi@ximian.com>
244 * JsonReader.cs : Do not consume "__type" (which is the first content
245 of an object) as an element content. It must be handled as an
246 attribute (it needs more changes).
248 2008-01-24 Atsushi Enomoto <atsushi@ximian.com>
250 * JsonSerializationReader.cs : when deserializing primitive strings,
251 make use of "type" attribute (they are supposed to exist).
252 Output source reader location if available.
253 * JsonReader.cs : implement IXmlLineInfo.
255 2008-01-24 Atsushi Enomoto <atsushi@ximian.com>
257 * JsonSerializationReader.cs : new, for JSON deserialization support.
258 * DataContractJsonSerializer.cs, TypeMap.cs :
259 basic support for deserialization.
261 2008-01-24 Atsushi Enomoto <atsushi@ximian.com>
263 * DataContractJsonSerializer.cs,
265 JsonSerializationWriter.cs : split the first to those three files.
267 2008-01-24 Atsushi Enomoto <atsushi@ximian.com>
269 * DataContractJsonSerializer.cs : Uri and Guid are serialized as
270 string. XmlQualifiedName is serialized as local:ns.
272 2008-01-22 Atsushi Enomoto <atsushi@ximian.com>
274 * JsonWriter.cs : allow __type attribute. It required couple of
275 changes all around the class.
276 * DataContractJsonSerializer.cs : implemented large part of
277 serialization support (deserialization is not done yet).
279 2007-12-05 Atsushi Enomoto <atsushi@ximian.com>
281 * DataContractJsonSerializer.cs :
282 moved from System.Runtime.Serialization and changed the namespace.
283 * JsonReader.cs, JsonWriter.cs, JsonReaderWriterFactory.cs,
284 IXmlJsonReaderInitializer.cs, IXmlJsonWriterInitializer.cs :
285 moved from System.Xml and changed the namespace.