JavaScript Object Notation (aka JSON) is a very popular lightweight data-interchange format. Jodd JSON is a lightweight library for (de)serializing Java objects into and from JSON.
Before you say: "Yet another one?", please check what makes Jodd JSON unique. The power of the library is its control over the process of serialization and parsing; ease of use and great performances.
Let's see how to serialize:
Book book = new Book(); book.setName("Jodd in Action); book.setYear(2018); book.setAuthors(List.of(new Author("Igor"))); String json = JsonSerializer.create() .include("authors") .serialize(book);The resulting JSON may look like this:
{ "name" : "Jodd In Action", "year" : 2018, "authors" : [ { "firstName" : "Igor" } ] }Parse the JSON back to Java:
Book book2 = new JsonParser() .parse(json, Book.class);Pretty simple, right? But don't get blinded by the simplicity, Jodd JSON is pretty powerful. Did I mention it is one of the fastest JSON frameworks out there?
- simple syntax and fluent interface,
- lazy parser that is super fast,
- annotations for better conversion control,
- convenient
JSONObjectandJSONArrayclasses, - powerful exclusion and inclusion rules,
- serializer definition for types,
- the only library that can handle any number size,
- pretty formatting of the JSON output,
- loose, more forgiving, parsing mode,
- ways to address the keys and values of the Maps
- flexible fine-tuning,
- and more…
The code is released under the BSD-2-Clause license. It has a minimal set of dependencies with the same or similarly open license, so you should be able to use it in any project and for any purpose.