Great tool for Java serialization to and from JSON format.
Available on Maven Central.
This library has no dependencies on other libraries for runtime other than our own java-util.
The json-io.jar
file is only185K
and java-util
is 250K.
Compatible with JDK1.8 through JDK 22.
To include in your project:
implementation 'com.cedarsoftware:json-io:4.20.0'
<dependency>
<groupId>com.cedarsoftware</groupId>
<artifactId>json-io</artifactId>
<version>4.20.0</version>
</dependency>
- Maintained: Fully
- Bundling: Both OSGi (Open Service Gateway initiative) and JPMS (Java Platform Module System)
- Java Package: com.cedarsoftware.io
- Java: JDK17+ (Class file 61 format, will include module-info.class)
- API
- Static methods on
JsonIo
==>toJson()
,toObjects()
,formatJson()
,deepCopy()
- Use ReadOptionsBuilder and WriteOptionsBuilder to configure
JsonIo.
- Use
JsonReader.ClassFactory
for difficult classes (hard to instantiate & fill).- Use
JsonWriter.JsonClassWriter
to customize the output JSON for a particular class- Updates will be 5.1.0, 5.2.0, ...
- Version: 4.20.0
- Bundling: Both OSGi (Open Service Gateway initiative) and JPMS (Java Platform Module System)
- Maintained: Fully
- Java Package: com.cedarsoftware.io
- Java: JDK1.8+ (Class file 52 format, includes module-info.class)
- API
- Static methods on JsonIo: toJson(), toObjects(), formatJson(), deepCopy()
- Use ReadOptionsBuilder and WriteOptionsBuilder to configure
JsonIo.
- Use JsonReader.ClassFactory (not
JsonReader.JsonClassReader
) for difficult classes (hard to instantiate & fill).- Use JsonWriter.JsonClassWriter to customize the output JSON for a particular class
- Updates will be 4.21.0, 4.22.0, ...
- Version: 4.14.3
- Bundling: Both OSGi (Open Service Gateway initiative) and JPMS (Java Platform Module System)
- Maintained: Bug fixes, CVE's
- Java Package: com.cedarsoftware.util.io
- Java: JDK1.8+ (Class file 52 format)
- API
- Static methods on JsonReader: jsonToJava(), jsonToMaps(), special: jsonObjectsToJava()
- Static methods on JsonWriter: objectToJson()), formatJson()
- Configuration via
Map
with constants defined in JsonReader/JsonWriter.- Use JsonReader.JsonClassReader or JsonReader.JsonClassReaderEx for customer reader
- Use JsonReader.assignInstantiator() when
json-io
cannot construct a particular class- Use JsonWriter.JsonClassWriter or JsonWriter.JsonClassWriterEx to customize particular class output JSON
- Updates will be 4.14.4, 4.14.5, ...
Featured on json.org.
For useful Java utilities, check out java-util
YourKit supports open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of YourKit Java Profiler and YourKit .NET Profiler, innovative and intelligent tools for profiling Java and .NET applications.
Copyright (c) 2007 Cedar Software LLC.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
<a href="http://www.apache.org/licenses/LICENSE-2.0">License</a>
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
by John DeRegnaucourt and Kenny Partlow