json-io

General

Category
Free
Tag
JSON
License
Apache License, Version 2.0
Registered
May 10, 2015
Favorites
0
Link
https://github.com/jdereg/json-io
See also
LoganSquare
JSON.simple
fastjson
Stag
Flatten

Additional

Language
Groovy
Version
json-io-2.9.1 (Jan 27, 2015)
Created
Sep 4, 2013
Updated
Apr 16, 2020
Owner
John DeRegnaucourt (jdereg)
Contributors
William Delanoue (twillouer)
Alvaro Muñoz (pwntester)
John DeRegnaucourt (jdereg)
Daniel Darabos (darabos)
Dave Loyall (daveloyall)
Kai Hufenbach (KaiHufenbach)
pedrocpneto
Ken Partlow (kpartlow)
Waldemar Reusch (lordvlad)
sgandon
dtracers
Dan Armbrust (darmbrust)
Mike Davis (lightcycle)
Lance Johnson (lance0428)
Richard Kovacs (mhmxs)
Josh Snyder (jsnyder4)
Semyon Evgrafov (Senich)
reuschling
Show all (21)21
Activity
Badge
Generate
Download
Source code

Promotion

json-io

Perfect Java serialization to and from JSON format (available on Maven Central). To include in your project:

<dependency>
  <groupId>com.cedarsoftware</groupId>
  <artifactId>json-io</artifactId>
  <version>4.12.0</version>
</dependency>

json-io consists of two main classes, a reader (JsonReader) and a writer (JsonWriter). json-io eliminates the need for using ObjectInputStream / ObjectOutputStream to serialize Java and instead uses the JSON format.

json-io does not require that Java classes implement Serializable or Externalizable to be serialized, unlike the JDK's ObjectInputStream / ObjectOutputStream. It will serialize any Java object graph into JSON and retain complete graph semantics / shape and object types. This includes supporting private fields, private inner classes (static or non-static), of any depth. It also includes handling cyclic references. Objects do not need to have public constructors to be serialized. The output JSON will not include transient fields, identical to the ObjectOutputStream behavior.

json-io does not depend on any 3rd party libraries, has extensive support for Java Generics, and allows extensive customization.