- Presence of
kotlin-reflect
library is now unnecessary. - Parse configuration added.
iris.json.Configuration
- Added toJsonString and appendToJsonString
- Important bug fix: Recursive class references to themselves caused Stack overflow exception
Deserializer
reformat.JsonItem
instances now don't need to know deserializer types exceptDeserializer
itself.@JsonField
support to let json-fields be named in other way than in deserialized object fields- Added
DeserializerJsonItem
to support instances ofJsonItem
DeserializerFactory.registerDeserializer()
added to register custom deserializers- Support of quoteless json object field names
- Deserialization improvements
.asObject<ClassName>()
instead of.asObject(ClassName::class)
- Primitives, Collections, Maps support
- Deserialization to objects
- Performance improvements
- JSON Proxy items added to imitate parsed JSON-nodes
- Added setters
- Added iterable items
- JSON Flow Parser added (
iris.json.flow
) iris.sequence
package
IrisJsonItem.asXxx()
optimizationIrisJsonItem.asXxxOrNull()
added
IrisJsonItem.find
selectors.IrisJsonItem.obj()
fixed. Now it generates full tree of target objects without proxiesIrisJsonItem.asInt|asLong|asList|asDouble|asFloat|asBoolean|asString|asObject
methods addedIrisJsonString.obj()
fixed handling of escape characters and speed improvementIrisJsonItem.joinTo
method
- Iris JSON parser was created
- Faster JSON-strings parse up to 4x times than
org.json