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