如何使用Gson序列化和反序列化Java 8的java.time类型?[已关闭]

2022-09-01 17:39:55

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

我在这里找到了Joda Time序列器的库 - 是否有JDK类的等效库?java.time

(这个人没有运气使用GSON的努力 - 他们的问题仍然没有答案)。java.time


答案 1

这里有一个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);

答案 2