• 根據樹節點生成樹

    0
    Java JSON C/C++ list 生成樹 4184 次瀏覽
     public String makeupTrees(List jsonNodes){
    		HashSet existsIdSet=new HashSet();
    		Map jsonNodeTrees=new HashMap();
    			for(JsonNode srcNode:jsonNodes){
    				if(srcNode.getChildren().size()<0){
    					continue;
    				}
    				JsonNode jsonNode=srcNode.getChildren().get(0);
    				String expressId=jsonNode.getExpressId();
    				String parentId=srcNode.getExpressId();
    				if(existsIdSet.contains(parentId)){
    					for (Entry entry : jsonNodeTrees.entrySet()){
    						JsonNode destJsonNode=getJsonNode(entry.getValue(), parentId);
    						if(null!=destJsonNode){
    							destJsonNode.getChildren().add(jsonNode);
    							break;
    						}
    					}
    				}else {
    					jsonNodeTrees.put(parentId, srcNode);
    				}
    				
    				if(existsIdSet.contains(expressId)){
    					JsonNode destJsonNode=jsonNodeTrees.remove(expressId);
    					if(null!=destJsonNode){
    						jsonNode.getChildren().addAll(destJsonNode.getChildren());
    					}
    				}
    				existsIdSet.add(parentId);
    				existsIdSet.add(expressId);
    			}
    			if(jsonNodeTrees.size()>0){
    				for (Entry entry : jsonNodeTrees.entrySet()){
    					return entry.getValue().toJsonString();
    				}
    			}
    			return "";
    	}
    其中樹節點JsonNode有三個屬性,自身ID  自身名稱  子節點列表



    相似問題

    相關經驗

    相關資訊

    相關文檔

  • sesese色