Jackson datatype module for Vavr library
<dependency> <groupId>io.vavr</groupId> <artifactId>vavr-jackson</artifactId> <version>0.10.3</version> </dependency>compile("io.vavr:vavr-jackson:0.10.3")Just register a new instance of VavrModule
ObjectMapper mapper = new ObjectMapper(); mapper.registerModule(new VavrModule());String json = mapper.writeValueAsString(List.of(1)); // = [1] List<Integer> restored = mapper.readValue(json, new TypeReference<List<Integer>>() {}); // = List(1)Developer versions can be found here.
<dependency> <groupId>io.vavr</groupId> <artifactId>vavr-jackson</artifactId> <version>0.10.6-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>compile("io.vavr:vavr-jackson:0.10.6-SNAPSHOT")Ensure that your build.gradle contains the following:
repositories { mavenCentral() maven { url "https://oss.sonatype.org/content/repositories/snapshots" } }