【发布时间】:2021-11-30 09:47:26
【问题描述】:
我有字符串值{"date":{"year":2021,"month":11,"day":11},"time":{"hour":10,"minute":30,"second":45,"nano":222000000}}
是否有任何可用的函数或有效的方法将此 JSON 字符串转换为 Java DateTime 对象,而不是一一读取字段并构建我的对象?
谢谢
【问题讨论】:
我有字符串值{"date":{"year":2021,"month":11,"day":11},"time":{"hour":10,"minute":30,"second":45,"nano":222000000}}
是否有任何可用的函数或有效的方法将此 JSON 字符串转换为 Java DateTime 对象,而不是一一读取字段并构建我的对象?
谢谢
【问题讨论】:
公共类应用程序{
@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());
}
}
【讨论】:
创建一个新的 Java 模型对象,使用 ObjectMapper 将 json 字符串转换为 java 对象。
【讨论】: