如何使用Gson序列化和反序列化Java 8的java.time类型?

时间:2014-04-15 00:38:35

标签: java gson datetime-format java-8

我正在使用GSON将一些对象图序列化为JSON。这些对象图使用新的Java 8 java.time实体(ZonedDateTimeOffsetDateTimeLocalTime等。)

我找到了Joda Time序列化程序库here - 是否有JDK java.time类的等效库?

This person他们努力将GSON与java.time一起使用并没有运气 - 他们的问题仍未得到答复。

1 个答案:

答案 0 :(得分:23)

这里有一个Java 8库:

  

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

这是Maven的详细信息(查看最新版本的中心):

<dependency>
  <groupId>com.fatboyindustrial.gson-javatime-serialisers</groupId>
  <artifactId>gson-javatime-serialisers</artifactId>
  <version>1.1.1</version>
</dependency>

以下是一个如何驾驶它的快速示例:

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);