Jackson Module which provides custom serializers and deserializers for JTS Geometry objects using the GeoJSON format
Releases of jackson-datatype-jts are available on Maven Central.
To use the module in Maven-based projects, use following dependency:
<dependency>
<groupId>com.bedatadriven</groupId>
<artifactId>jackson-datatype-jts</artifactId>
<version>2.2</version>
</dependency>
dependencies {
compile 'com.bedatadriven:jackson-datatype-jts:2.2'
}
To use JTS geometry datatypes with Jackson, you will first need to register the module first (same as with all Jackson datatype modules):
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JtsModule());
After registering JTS module, Jackson Databind will be able to write Geometry instances as GeoJSON and and read GeoJSON geometries as JTS Geometry objects.
To write a Point object as GeoJSON:
GeometryFactory gf = new GeometryFactory();
Point point = gf.createPoint(new Coordinate(1.2345678, 2.3456789));
String geojson = objectMapper.writeValueAsString(point);
You can also read GeoJSON in as JTS geometry objects:
InputStream in;
Point point = mapper.readValue(in, Point.class);