Releases: grunka/json
Static field issue fix
Fixing issue where static fields in classes would be attempted to be read and written
Full Changelog: v1.9...v1.10
Convenience methods added
Adding convenience methods for accessing fields in json values.
Full Changelog: v1.7...v1.9
Bugfix in objectifying
- Bugfix on issue where objectifying object that contained nulled JsonValues would fail when trying to cast values
- Dependency updates
What's Changed
- Bump maven-source-plugin from 3.2.1 to 3.3.0 by @dependabot in #5
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.5.0 to 3.6.0 by @dependabot in #7
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.6.0 to 3.6.2 by @dependabot in #8
- Bump org.apache.maven.plugins:maven-compiler-plugin from 3.11.0 to 3.12.1 by @dependabot in #10
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.6.2 to 3.6.3 by @dependabot in #9
- Bump org.apache.maven.plugins:maven-gpg-plugin from 3.1.0 to 3.2.0 by @dependabot in #11
- Bump org.apache.maven.plugins:maven-compiler-plugin from 3.12.1 to 3.13.0 by @dependabot in #13
- Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.0 to 3.2.1 by @dependabot in #12
Full Changelog: v1.6...v1.7
Better performance and pretty stringifying
Found some performance bottlenecks for stringifying that we're fixed. Also added a prettyStringify method which outputs in a format similar to what Gson does when set to do pretty printing.
What's Changed
- Bump gson from 2.10 to 2.10.1 by @dependabot in #3
- Bump maven-gpg-plugin from 1.5 to 3.0.1 by @dependabot in #2
- Bump maven-compiler-plugin from 3.10.1 to 3.11.0 by @dependabot in #1
- Bump maven-gpg-plugin from 3.0.1 to 3.1.0 by @dependabot in #4
New Contributors
- @dependabot made their first contribution in #3
Full Changelog: v1.4...v1.6
Adding value mapper
Full Changelog: v1.3...v1.4
Other libraries usually have the functionality to map types to and from some kind of JSON representation. In this release I've added something similar, the Json.map function. It takes a JsonValue and one or several JsonValueMappers. It then iterates through the JsonValue and passes each value inside it and the path that it locates each value to the mappers supplied. With this you can change the values as needed. The changed value can then be passed to objectify or stringify depending on which direction you are going.
Structure cleanup and a small feature addition
Full Changelog: v1.2...v1.3
The JsonValue implementations now implement a couple more interfaces properly. The JsonString is not a CharSequence and Comparable. The JsonNumber is now a Number and it compares the actual value instead of the internal string representation.
It is now possible to objectify objects that contain any of the JsonValue types and they will be exposed correctly. This is handy to be able to do if you receive JSON that contains values in a structure that will not easily map into the objects you want to use. This lets ju just take the JSON value and manually convert that directly instead of building a complex object to capture it before converting it.
Better generics and common object instantiation
When adding record support in the previous release object instantiation and record instantiation diverged. Some things worked for objects and some for records. Now both create their contents using the same code paths.
Also now supports "complex" keys in maps. This basically means if you don't have a string as a key to a map it will now stringify the key object and use the string generated. When reading a complex key it assumes that this is what has been done and just parses it and converts it back to the key object.
Added a objectifySet in addition to the previously existing objectifyList and objectifyMap. objectifyMap now also supports passing in a type for the key while still defaulting it to being a String if it is not provided.
The Second Release
Added support for records
First Release
It now does all the basic things and it also seems to be quite quick so releasing an first version.
Full Changelog: https://github.com/grunka/json/commits/v1.0