Awesome
vavr-jackson
Jackson datatype module for Vavr library
Usage
Maven
<dependency>
<groupId>io.vavr</groupId>
<artifactId>vavr-jackson</artifactId>
<version>0.10.3</version>
</dependency>
Gradle
compile("io.vavr:vavr-jackson:0.10.3")
Registering module
Just register a new instance of <code>VavrModule</code>
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new VavrModule());
Serialization/deserialization
<!-- see io.vavr.jackson.datatype.docs.ReadmeTest#testDeser -->String json = mapper.writeValueAsString(List.of(1));
// = [1]
List<Integer> restored = mapper.readValue(json, new TypeReference<List<Integer>>() {});
// = List(1)
Using Developer Versions
Developer versions can be found here.
Maven
<dependency>
<groupId>io.vavr</groupId>
<artifactId>vavr-jackson</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
Ensure that your ~/.m2/settings.xml
contains the following:
<profiles>
<profile>
<id>allow-snapshots</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>snapshots-repo</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
Gradle
compile("io.vavr:vavr-jackson:1.0.0-SNAPSHOT")
Ensure that your build.gradle
contains the following:
repositories {
mavenCentral()
maven {
url "https://oss.sonatype.org/content/repositories/snapshots"
}
}