遍历树状结构json
由于要从其他地方接收到树状结构的json,并遍历解析这颗树,代码如下
ExportEventDto 只要一个name,一个children属性就够了
private String name;
private Listchildren;
// 解析json,把json变成想要的结构
public static List<ExportEventDto> getJSONChildren(List<JSONObject>list){
List<ExportEventDto> exportEventDtoList=new ArrayList<>();
for (JSONObject obj:list
) {
ExportEventDto exportEventDto=new ExportEventDto();
if(obj.get("children")!=null){
exportEventDto.setId((Integer) obj.get("name"));
exportEventDto.setChildren(getJSONChildren((List)obj.get("children")));
}
exportEventDtoList.add(exportEventDto);
}
return exportEventDtoList;
}
// 把一个父节点在复制一遍
public static List<ExportEventDto> getchildren(List<ExportEventDto>list){
List<ExportEventDto>exportEventDtoList=new ArrayList<>();
for (ExportEventDto exportEventDto:list
) {
if(exportEventDto.getChildren()!=null){
exportEventDto.setChildren(getchildren(exportEventDto.getChildren()));
}
exportEventDtoList.add(exportEventDto);
}
return exportEventDtoList;
}