gpt4 book ai didi

java - 当嵌套 JSON 中出现相同字段名称时,将 JSON 解析为 java 对象

转载 作者:行者123 更新时间:2023-12-01 19:41:02 25 4
gpt4 key购买 nike

下面是我的 JSON:

{
"time":{
"date":{
"year":2017,
"month":3,
"day":12
},
"time":{
"hour":10,
"minute":42,
"second":42,
"nano":810000000
}
},
"name":"Jon",
"message":{
"product":"orange"
"price":2000
}
}

“时间”字段有一个嵌套的“时间”字段。我如何使用 jackson 解析它到 java 对象。谁能告诉我正确的方法吗?

最佳答案

您可以创建如下类:

class JavaObject {
private TimeObject time;
private String name;
//other fields
//getters and setters
}

class TimeObject {
private Date date;
private Time time;
//getters and setters
}

class Date {
private int year;
private int month;
private int day;
//getters and setters
}

class Time {
private int hour;
private int minute;
private int second;
private long nano;
//getters and setters
}

完成后,您可以使用Jacksonjson字符串反序列化为JavaObject对象,例如:

ObjectMapper objectMapper = new ObjectMapper();
JavaObject javaObject = objectMapper.readValue("{\n" +
" \"time\":{\n" +
" \"date\":{\n" +
" \"year\":2017,\n" +
" \"month\":3,\n" +
" \"day\":12\n" +
" },\n" +
" \"time\":{\n" +
" \"hour\":10,\n" +
" \"minute\":42,\n" +
" \"second\":42,\n" +
" \"nano\":810000000\n" +
" }\n" +
" },\n" +
"\"name\":\"Jon\"}", JavaObject.class);
System.out.println(javaObject);

关于java - 当嵌套 JSON 中出现相同字段名称时,将 JSON 解析为 java 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55393386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com