I'm using GSON to serialise some object graphs to JSON. These objects graphs use the new Java 8 java.time
entities (ZonedDateTime
, OffsetDateTime
, LocalTime
etc).
I've found a library for Joda Time serialisers here - is there an equivalent library for the JDK java.time
classes?
(This person had no luck with their efforts to use GSON with java.time
- and their question remains unanswered).
There's a Java 8 library here:
https://github.com/gkopff/gson-javatime-serialisers
Here's the Maven details (check central for the latest version):
<dependency>
<groupId>com.fatboyindustrial.gson-javatime-serialisers</groupId>
<artifactId>gson-javatime-serialisers</artifactId>
<version>1.1.1</version>
</dependency>
And here's a quick example of how you drive it:
Gson gson = Converters.registerOffsetDateTime(new GsonBuilder()).create();
SomeContainerObject original = new SomeContainerObject(OffsetDateTime.now());
String json = gson.toJson(original);
SomeContainerObject reconstituted = gson.fromJson(json, SomeContainerObject.class);