Преобразование объекта datetime в json в объект java DateTime

#java #datetime

#Ява #дата и время

Вопрос:

У меня есть строковое значение {"date":{"year":2021,"month":11,"day":11},"time":{"hour":10,"minute":30,"second":45,"nano":222000000}}

Есть ли какая-либо доступная функция или эффективный способ преобразовать эту строку JSON в объект Java DateTime, а не считывать поля по одному и создавать свой объект?

Спасибо

Ответ №1:

приложение для публичных классов {

 @Data @AllArgsConstructor @NoArgsConstructor public class DateC1 {  private Integer year;  private Integer month;  private Integer day; }  @Data @AllArgsConstructor @NoArgsConstructor public class Root {  private DateC1 date;  private Time time; }  @Data @AllArgsConstructor @NoArgsConstructor public class Time {  private Integer hour;  private Integer minute;  private Integer second;  private Integer nano;  }  private static final String DATE_JSON_STRING =  "{"date":{"year":2021,"month":11,"day":11},"time":{"hour":10,"minute":30,"second":45,"nano":222000000}}";  public static void main(String[] args) {   Gson gson = new GsonBuilder().setPrettyPrinting().create();  DateC1 dateC1 = gson.fromJson(DATE_JSON_STRING, DateC1.class);  System.out.println(dateC1.toString());  }  

}

Комментарии:

1. Используйте зависимость от ломбока и gson

Ответ №2:

Создайте новый объект модели Java, используя ObjectMapper, преобразующий строку json в объект java.

Комментарии:

1. чтобы улучшить ответ, пожалуйста, приведите пример кода