Is there a standard implementation for a GSON Joda Time serialiser?

Greg Kopff picture Greg Kopff · Feb 21, 2013 · Viewed 22.2k times · Source

I'm using GSON to serialise some object graphs to JSON. These objects graphs use Joda Time entities (DateTime, LocalTime etc).

The top Google hit for "gson joda" is this page:

It provides source for a type adapter for org.joda.time.DateTime. This link is also what is referenced in the GSON User Guide.

I expected to find a pre-rolled library that included joda-time serialisers that I could reference as a Maven dependency - but I can't find one.

Is there one? Or am I forced to replicate that snippet in my own project?

Answer

Greg Kopff picture Greg Kopff · Mar 21, 2014

I've decided to roll my own open source one - you can find it here:

https://github.com/gkopff/gson-jodatime-serialisers

Here's the Maven details (check central for the latest version):

<dependency>
  <groupId>com.fatboyindustrial.gson-jodatime-serialisers</groupId>
  <artifactId>gson-jodatime-serialisers</artifactId>
  <version>1.6.0</version>
</dependency>

And here's a quick example of how you drive it:

Gson gson = Converters.registerDateTime(new GsonBuilder()).create();
SomeContainerObject original = new SomeContainerObject(new DateTime());

String json = gson.toJson(original);
SomeContainerObject reconstituted = gson.fromJson(json, SomeContainerObject.class);