forked from LitJSON/litjson
-
Notifications
You must be signed in to change notification settings - Fork 1
/
NEWS
182 lines (120 loc) · 4.45 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
LitJSON 0.9.0
=============
*To Be Announced*
Additions:
* Added `JsonData.Keys` property, with type `ICollection<string>`.
LitJSON 0.7.0
=============
2013-04-26
General changes and improvements:
* Simplified the building mechanism. Dropped the entire autotools
infrastructure, and instead added a single Makefile to compile the project
and run the tests with *GNU make*.
* Added `SkipNonMembers` property to `JsonReader`. When active, it allows to
parse JSON data using `JsonMapper.ToObject<T>` and ignore any properties
not available in the type `T`. Its default value is `true`.
* Started moving the documentation into Markdown format.
* Added a new section to the QuickStart Guide, regarding customisation of
the library's behaviour.
Bug fixes:
* Convert `null` properties properly in `JsonData.ToJson`.
* Read nested arrays in `JsonMapper.ToObject` and `JsonMapper.ToObject<T>`
correctly.
Contributors for this release:
- whoo24
- Christopher Dummy
LitJSON 0.5.0
=============
2007-10-04
New features and improvements:
* The JsonRader class now has two properties to control the reading of data
from an input stream: EndOfInput and EndOfJson. The latter becomes
true whenever a complete piece of JSON text has been read, while the
former is a flag that becomes true when the stream itself reaches the end.
This way, reading multiple JSON texts from the same input stream is
straightforward.
* Added new base importers in JsonMapper for reading numeric values
correctly into float and double members.
* Now Enum's can be imported/exported as numeric values.
* JsonData implements the IEquatable<T> interface now.
API changes:
The following types are new:
enum JsonType
The following methods are new:
IJsonWrapper.GetJsonType()
IJsonWrapper.SetJsonType()
The following properties are new:
JsonReader.EndOfInput
Bug fixes:
* Correctly import/export properties that are read-only or write-only.
* Correctly convert null values when adding them as array elements or
properties to a JsonData instance.
* Fixed conversion of empty JSON objects and arrays.
Thanks to all the contributors that reported problems and suggested fixes
for this release:
Colin Alworth
Ralf Callenberg
andi
LitJSON 0.3.0
=============
2007-08-15
New features and improvements:
* Exporters and importers.
Custom conversions using the JsonMapper class can be made through
importers and exporters. These are delegates that tell the library how to
perform conversions between non-basic types (i.e. not string, int, long,
double or boolean) and JSON. There are base and custom
exporters/importers. The base exporters and importers are built-in
delegates that currently handle simple conversions between JSON and the
following value types:
byte
char
DateTime
decimal
sbyte
short
ushort
uint
ulong
Custom exporters and importers can be defined through
JsonMapper.RegisterExporter and JsonMapper.RegisterImporter, and they
override the built-in conversions.
* Improved performance of JsonMapper.ToJson()
A static JsonWriter is re-used to reduce the activity in the heap,
improving performance for multiple conversions.
* Allowing extended grammar
The lexer can now accept single-quoted strings, and comments in the
following forms:
// Single-line comment
/*
* Multi-line comment
*/
This way, certain forms of input coming from JavaScript that don't
necessarily conform to the strict JSON grammar are allowed and succesfully
parsed.
A JsonReader can be configured to accept only the strict grammar or the
extended one. These extensions are allowed by default.
* API cleanups and additions.
The following members are new:
JsonData.Count
JsonMapper.RegisterExporter()
JsonMapper.RegisterImporter()
JsonMapper.UnregisterExporters()
JsonMapper.UnregisterImporters()
JsonReader.AllowComments
JsonReader.AllowSingleQuotedStrings
JsonWriter.Reset()
The following overloads have been added:
JsonMapper.ToJson(object obj, JsonWriter writer)
JsonMapper.ToObject(JsonReader reader)
The following members have been renamed:
JsonReader.HasReachedEnd is now JsonReader.EndOfJson
Bugs fixed:
* JsonMapper.ToJson() avoids entering an infinite recursion by defining a
max nesting depth.
* The JsonData int indexer now behaves correctly both when it acts as an
array and as an object.
LitJSON 0.1.0
=============
2007-08-09
First release.