This project attempts to build and AST ( Abstract Syntactic Tree ) for Json and provide a useful way to work with that tree.
If you want to program in functional style in Java, you want your data types to be immutable and efficient.
Unfortunately there are no default immutable collections in Java, so we try to use javaslang where appropriate.
Using maven, you download it from Maven Central using these coordinates:
<dependency>
<groupId>net.hamnaberg.json</groupId>
<artifactId>immutable-json-ast</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>net.hamnaberg.json</groupId>
<artifactId>immutable-json-pointer</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>net.hamnaberg.json</groupId>
<artifactId>immutable-json-patch</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>net.hamnaberg.json</groupId>
<artifactId>immutable-json-jackson</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>net.hamnaberg.json</groupId>
<artifactId>immutable-json-native</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>net.hamnaberg.json</groupId>
<artifactId>immutable-json-javax</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>net.hamnaberg.json</groupId>
<artifactId>immutable-json-codec</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>net.hamnaberg.json</groupId>
<artifactId>immutable-json-reflection-codec</artifactId>
<version>5.1.0</version>
</dependency>
Snapshots can be found from Sonatype:
<dependency>
<groupId>net.hamnaberg.json</groupId>
<artifactId>immutable-json-ast</artifactId>
<version>5.2.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>net.hamnaberg.json</groupId>
<artifactId>immutable-json-pointer</artifactId>
<version>5.2.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>net.hamnaberg.json</groupId>
<artifactId>immutable-json-jackson</artifactId>
<version>5.2.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>net.hamnaberg.json</groupId>
<artifactId>immutable-json-native</artifactId>
<version>5.2.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>net.hamnaberg.json</groupId>
<artifactId>immutable-json-javax</artifactId>
<version>5.2.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>net.hamnaberg.json</groupId>
<artifactId>immutable-json-codec</artifactId>
<version>5.2.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>net.hamnaberg.json</groupId>
<artifactId>immutable-json-reflection-codec</artifactId>
<version>5.2.0-SNAPSHOT</version>
</dependency>
We are using the Apache License 2.0