色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java json構建樹

呂致盈2年前8瀏覽0評論

Java中的JSON構建樹是一種將JSON格式數據轉化為樹形結構的方法。在很多的實際場景中,我們需要對JSON數據進行處理,比如對JSON樹形結構進行遍歷、搜索等等。本文將介紹一種常見的JSON構建樹的方法。

// java代碼示例
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.core.JsonProcessingException;
public class JsonTreeBuilder {
public static void main(String[] args) throws JsonProcessingException {
String json = "{\"name\":\"john\",\"age\":25,\"address\":{\"city\":\"beijing\",\"country\":\"china\"}}";
ObjectMapper mapper = new ObjectMapper();
JsonNode root = mapper.readTree(json);
buildJsonTree(root, "");
}
public static void buildJsonTree(JsonNode node, String prefix) {
if (node.isObject()) {
System.out.println(prefix + "{");
for (JsonNode child : node) {
System.out.print(prefix + "  " + child.getKey() + ": ");
buildJsonTree(child.getValue(), prefix + "  ");
}
System.out.println(prefix + "}");
} else if (node.isArray()) {
System.out.println(prefix + "[");
for (JsonNode child : node) {
buildJsonTree(child, prefix + "  ");
}
System.out.println(prefix + "]");
} else if (node.isValueNode()) {
System.out.println(node.asText());
}
}
}

以上代碼中,我們使用了Jackson庫的ObjectMapper類和JsonNode類。首先我們將JSON字符串轉化為JsonNode對象,然后對JsonNode對象進行遍歷,并使用遞歸的方式進行JSON樹形結構的構建。

當JsonNode對象是對象類型時,我們先輸出"{",然后對其所有的子節點進行遍歷,遞歸調用buildJsonTree函數,并在輸出的字符串前加上一些前綴,以保證輸出的格式正確。最后再輸出"}"。

當JsonNode對象是數組類型時,我們先輸出"[",然后對其所有的子節點進行遍歷,同樣遞歸調用buildJsonTree函數,并加上前綴。最后再輸出"]"。

當JsonNode對象是值類型時,我們則直接輸出節點的值文本。