mirror of
https://github.com/CarmJos/BukkitJSONSerializer.git
synced 2024-09-19 21:35:57 +00:00
A JSON serialize/deserialize util for bukkit's ConfigurationSerialization.
4de11528fc
Bumps [org.apache.maven.plugins:maven-gpg-plugin](https://github.com/apache/maven-gpg-plugin) from 3.2.5 to 3.2.6. - [Release notes](https://github.com/apache/maven-gpg-plugin/releases) - [Commits](https://github.com/apache/maven-gpg-plugin/compare/maven-gpg-plugin-3.2.5...maven-gpg-plugin-3.2.6) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-gpg-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> |
||
---|---|---|
.github | ||
src | ||
.gitignore | ||
LICENSE | ||
pom.xml | ||
README.md |
BukkitJSONSerializer
A JSON serialize/deserialize util for bukkit's ConfigurationSerialization.
Usage
Basic usage
First, we should get the serializer instance or create a new one.
BukkitJSONSerializer serializer = BukkitJSONSerializer.get();
Then, we could use serializeToJSON(ConfigurationSerializable)
to serialize a object to JSON.
Location location = new Location(Bukkit.getWorlds().get(0), -100.5, 100, 105.5);
String serialized = serializer.serializeToJSON(location);
// -> {"world":"world","x":-100.5,"y":100,"z":105.5,"yaw":0.0,"pitch":0.0}
When we need to read the object, just use deserializeJSON(json,typeClass)
to deserialize the JSON
string.
Location location = serializer.deserializeJSON(json, Location.class);
// Location{world=world, x=-100.5, y=100, z=105.5, pitch=0.0, yaw=0.0}
Or use deserializeSON(json,typeClass,defaultValue)
if we need a default value.
JSONSerializable class
This project provided an interface JSONSerializable
which provided a default method to serialize itself to JSON.
public interface JSONSerializable extends ConfigurationSerializable {
default @NotNull String serializeToJSON() {
return BukkitJSONSerializer.serializeToJSON(this);
}
}
Dependency Usage
Maven dependency
<project>
<repositories>
<repository>
<!--Using central repository-->
<id>maven</id>
<name>Maven Central</name>
<url>https://repo1.maven.org/maven2</url>
</repository>
<repository>
<!--Using github repository-->
<id>BukkitJSONSerializer</id>
<url>https://raw.githubusercontent.com/CarmJos/BukkitJSONSerializer/repo/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>cc.carm.lib</groupId>
<artifactId>bukkitjsonserializer</artifactId>
<version>[LATEST RELEASE]</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
Gradle dependency
repositories {
mavenCentral() // Using central repository.
// Using github repositories.
maven { url 'https://raw.githubusercontent.com/CarmJos/BukkitJSONSerializer/repo/' }
}
dependencies {
api "cc.carm.lib:bukkitjsonserializer:[LATEST RELEASE]"
}
Open Source License.
The project using GNU LESSER GENERAL PUBLIC LICENSE .