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 阅读(245) 评论(0) 编辑 收藏 举报