在进行rest调用时,我得到嵌套的json对象和json数组作为响应。嵌套的json数组和json对象随机出现。它可能不是每次都作为响应的一部分出现。我想反序列化json,使json中的所有字段都位于java对象的根级别。
json响应
{
"data": {
"id":"42342sdz",
"details" : {
"username": "Username",
"location": "Location",
"history":[
{
"historyId":"34312cs", "historyDetail":"Some val", "datetime":"Some val",
"myObj":{
"myField" : "Some val"
}
},
{ "historyId":"34312cs", "historyDetail":"Some val", "datetime":"Some val"}
]
}
}
}
java对象,我想通过解析上面的json响应来构建它。
class ResponseObject {
String id;
String username;
String location;
List<History> historyList;
//Getters and Setters
}
class History {
String historyId;
String historyDetails
String datetime;
String myField;
//Getters and Setters
}
1条答案
按热度按时间ulydmbyx1#
当你说json对象随机出现的时候,我不太清楚你的意思。如果您的意思是字段本身是随机的(带有随机标签),那么我不确定您是否可以将它们作为字段存储在这样的java对象中。但是,如果您事先知道这些字段,那么您可以告诉jackson(springboot使用的json反序列化程序)如何通过向
ResponseObject
类,看起来像这样:如果你不知道这些字段的名称,那么我认为你能做的就是把它存储到一个单位
Map<String, Object>
.