Element的树结构,转换为java的map结构,同时父子结构相同
public static void main(String[] args) {
String jsonStr = FileUtil.readUtf8String("C:\\Users\\Administrator\\Desktop\\json.txt");
JSONObject jo = (JSONObject) JSON.parseArray(jsonStr).get(0);
JSONArray children = jo.getJSONArray("children");
Map<String, Object> map = new HashMap<>();
List<JSONObject> collect = children.stream().map(a->(JSONObject)a).collect(Collectors.toList());
for (JSONObject jsonObject : collect) {
sub(map,jsonObject);
}
System.out.println(JSON.toJSONString(map,true));
}
private static void sub(Map map,JSONObject child){
String type = child.getString("type");//node / param
String key;
if (type.equals("node")) {
key = child.getString("label");
Map<String, Object> tMap = new HashMap<>();
map.put(key,tMap);
List<JSONObject> collect = child.getJSONArray("children").stream().map(a->(JSONObject)a).collect(Collectors.toList());
for (JSONObject jsonObject : collect) {
sub(tMap, jsonObject);
}
}else{
JSONObject endPoint = child.getJSONObject("endPoint");
key = endPoint.getString("name");
Object value = endPoint.get("defaultValue");
map.put(key,value);
}
}
本文由 转啊转 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为:
2022/10/10 23:17