I have JSONs with a date-time attribute in the format \"2014-03-10T18:46:40.000Z\", which I want to deserialize into a java.time.LocalDateTime field using Gson.
When
Following worked for me.
Java:
Gson gson = new GsonBuilder().registerTypeAdapter(LocalDateTime.class, new JsonDeserializer() {
@Override
public LocalDateTime deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
return LocalDateTime.parse(json.getAsString(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")); }
}).create();
Test test = gson.fromJson(stringJson, Test.class);
where stringJson is a Json which is stored as String type
Json:
"dateField":"2020-01-30 15:00"
where dateField is of LocalDateTime type which is present in the stringJson String variable.