simter-json

Json extension for JSR-353 (Java API for JSON Processing)

License

License

MIT
Categories

Categories

JSON Data
GroupId

GroupId

tech.simter
ArtifactId

ArtifactId

simter-json
Last Version

Last Version

1.1.0
Release Date

Release Date

Type

Type

jar
Description

Description

simter-json
Json extension for JSR-353 (Java API for JSON Processing)
Project URL

Project URL

https://github.com/simter/simter-json
Project Organization

Project Organization

simter
Source Code Management

Source Code Management

https://github.com/simter/simter-json.git

Download simter-json

How to add to project

<!-- https://jarcasting.com/artifacts/tech.simter/simter-json/ -->
<dependency>
    <groupId>tech.simter</groupId>
    <artifactId>simter-json</artifactId>
    <version>1.1.0</version>
</dependency>
// https://jarcasting.com/artifacts/tech.simter/simter-json/
implementation 'tech.simter:simter-json:1.1.0'
// https://jarcasting.com/artifacts/tech.simter/simter-json/
implementation ("tech.simter:simter-json:1.1.0")
'tech.simter:simter-json:jar:1.1.0'
<dependency org="tech.simter" name="simter-json" rev="1.1.0">
  <artifact name="simter-json" type="jar" />
</dependency>
@Grapes(
@Grab(group='tech.simter', module='simter-json', version='1.1.0')
)
libraryDependencies += "tech.simter" % "simter-json" % "1.1.0"
[tech.simter/simter-json "1.1.0"]

Dependencies

compile (1)

Group / Artifact Type Version
javax.json : javax.json-api jar 1.1.4

test (2)

Group / Artifact Type Version
org.junit.jupiter : junit-jupiter jar
com.owlike : genson jar 1.5

Project Modules

There are no modules declared in this project.

simter-json [中文]

Json extension tools for JSR-353 (Java API for JSON Processing).

JsonObject and JsonArray are design to be a immutable object. Once created, it can not be changed. But sometimes we need to modify or extend it. This is the target of this extension tools.

Installation

<dependency>
  <groupId>tech.simter</groupId>
  <artifactId>simter-json</artifactId>
  <version>1.0.0</version>
</dependency>

Requirement

Usage: JSR-353 base code

Create a standard JsonObject

JsonObject jsonObject = Json.createObjectBuilder()
  .add("str", "a")
  .add("num", 1)
  .add("bool", false)
  .addNull("k")
  .build();

Create a standard JsonArray

JsonArray jsonArray = Json.createArrayBuilder()
  .add(10)
  .add(1.1)
  .add(true)
  .addNull()
  .build();

Usage: This extensions code

Extend a JsonObject

JsonObject extended = JsonUtils.toBuilder(jsonObject)
  .add("newKey", "newValue")
  .build();

Extend a JsonArray

JsonArray extended = JsonUtils.toBuilder(jsonArray)
  .add("newItem")
  .build();

Merge multiple JsonObject or JsonObjectBuilder

JsonObject merged = JsonUtils.merge(jsonObject1, jsonObject2, ...).build();
// or
JsonObjectBuilder merged = JsonUtils.merge(jsonObjectBuilder1, jsonObjectBuilder2, ...);

Merge multiple JsonArray or JsonArrayBuilder

JsonArray merged = JsonUtils.merge(jsonArray1, jsonArray2, ...).build();
// or
JsonArrayBuilder merged = JsonUtils.merge(jsonArrayBuilder1, jsonArrayBuilder2, ...);

Build

mvn clean package

Deploy

First take a look at simter-parent deploy config.

Deploy to LAN Nexus Repository

mvn clean deploy -P lan

Deploy to Sonatype Repository

mvn clean deploy -P sonatype

After deployed, login into https://oss.sonatype.org. Through Staging Repositories, search this package, then close and release it. After couple hours, it will be synced to Maven Central Repository.

Deploy to Bintray Repository

mvn clean deploy -P bintray

Will deploy to https://api.bintray.com/maven/simter/maven/tech.simter:simter-json/;publish=1. So first create a package https://bintray.com/simter/maven/tech.simter:simter-json on Bintray. After deployed, check it from https://jcenter.bintray.com/tech/simter/simter-json.

tech.simter

Versions

Version
1.1.0
1.0.0
0.4.0
0.3.0
0.2.0
0.1.0