Releases: doubledutch/LazyJSON
Escaped String Bug
minor bug fix for put null
Putting a null on an object would throw an exception instead of removing the key. The semantics of the put operation now matches that of org.json
LazyArray.put(Object o)
This release adds two missing methods to LazyArray allowing you to insert primitive values as Object's without first casting and also to add LazyObject.NULL to arrays to insert null values that will be serialized out as "null".
(thanks @leisim for noticing and filing an issue!)
Semantics!
This releases fixes a lot of minor semantic differences between the LazyJSON api and that of the json.org implementation. Furthermore, it includes a large amount of serious bug fixes related to data modification.
getNames
Mutable Data (finally)
This release finally allows you to modify JSON data after parsing it. This is done by maintaining a separate buffer of additions and marking nodes in the parse tree as dirty when their data has been changed. The API continues to mirror that of the json.org Java implementation – making it an easy drop in replacement for projects that parse large amounts of JSON data.
Deep equality tests
This releases adds a new equals and hashcode implementation that does a deep comparison of JSON elements and ensure that json data that is semantically equal returns the same hashcode and is considered equal to .equals()
Add getType to LazyElement
This allows you to do type inspection of elements without checking the class of the element.
Increase Validation
Updated the parser to cover edge cases presented in the excellent study at https://github.com/nst/JSONTestSuite
keySet method
Added the requested keySet method.