我有以下格式的JSON网址列表:
{
"level": 1,"secondLevel": {
"level": 2,"thirdLevel": [
{
"level": 3,"fourthLevel": {
"level": 4,"fifthLevel": [
{
"type": "URLS","listOfimageURLs": [
{
"urlNo": "Num1","data": "num1Data"
},{
"urlNo": "Num2","data": "num2Data"
},{
"urlNo": "Num3","data": "num3Data"
}
]
}
]
}
}
]
}
}
最初我有类似的东西,给了我一个Urls清单,清单中的所有内容。
@Data
@NoArgsConstructor
public class URLDetail {
private String type;
private List<Urls> urlData;
}
现在,我正在尝试反序列化以下Java POJO,并在字段num2Data
中设置了值urlData
@Data
@NoArgsConstructor
public class URLDetail {
private String type;
private String urlData;
}
我试图弄清楚如何有条件地遍历JSON列表-url 并且对于任何等于“ Num2”的urlNo,将关联的“数据”字段值(在这种情况下为“ num2Data”)反序列化为URLDetail POJO字段urlData?
我照常
mapper.readValue(json,URLDetail.class);
如果我删除urlData,则type
字段设置正确,但是完全不确定是否可以使用逻辑来解析JSON中的url列表。
我需要创建某种自定义解串器吗?