GSON 特殊类型支持序列化和反序列化,如LocalDateTime
GSON 特殊类型支持序列化和反序列化,如LocalDateTime
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
Gson gson = new GsonBuilder()
.registerTypeAdapter(LocalDateTime.class, new JsonDeserializer<LocalDateTime>() {
@Override
public LocalDateTime deserialize(JsonElement json, Type type,
JsonDeserializationContext jsonDeserializationContext) throws JsonParseException {
String asString = json.getAsJsonPrimitive().getAsString();
LocalDateTime parse = LocalDateTime.parse(asString, dateTimeFormatter);
return parse;
}
}).registerTypeAdapter(LocalDateTime.class, new JsonSerializer<LocalDateTime>() {
@Override
public JsonElement serialize(LocalDateTime localDateTime, Type srcType,
JsonSerializationContext context) {
return new JsonPrimitive(dateTimeFormatter.format(localDateTime));
}
}).create();
Result<DbTradeInfo> result = (Result<DbTradeInfo>) gson.fromJson(
"{\"createTime\":\"2022-04-19 00:00:32\"}"
,
new TypeToken<Result<DbTradeInfo>>() {
}.getType());
System.out.println(result.getData().getCreateTime().getClass());
System.out.println(gson.toJson(result));
posted on 2022-11-02 19:23 Henry_Wang 阅读(290) 评论(0) 收藏 举报
浙公网安备 33010602011771号