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

jackson遍歷json樹

林子帆2年前11瀏覽0評論

Jackson是一個非常流行的Java庫,用于處理JSON數據格式。它可以用來解析、生成和操作JSON樹,使得使用JSON數據變得非常簡單。

ObjectMapper mapper = new ObjectMapper();
JsonNode rootNode = mapper.readTree("{\"name\":\"John\",\"age\":30,\"car\":null}");
System.out.println("rootNode: " + rootNode.toString());

在上面的代碼片段中,我們使用ObjectMapper讀取JSON字符串,并將其解析成一個JsonNode對象。此時我們便可以利用JsonNode對象來獲取JSON中的各個值。

JsonNode nameNode = rootNode.get("name");
String name = nameNode.asText();
JsonNode ageNode = rootNode.get("age");
int age = ageNode.asInt();
JsonNode carNode = rootNode.get("car");
boolean hasCar = !carNode.isNull();

在上面的代碼片段中,我們使用JsonNode對象來獲取JSON中的值,并將其轉換成Java類型,如字符串和整數。需要注意的是,如果car字段的值為null,則JsonNode對象將返回null,因此我們需要進行非空判斷。

JsonNode rootNode = mapper.readTree("{\"name\":\"John\",\"age\":30,\"cars\":[{\"model\":\"Toyota\",\"year\":2010},{\"model\":\"Honda\",\"year\":2015}]}");
JsonNode carsNode = rootNode.get("cars");
if(carsNode.isArray()) {
for(JsonNode carNode: carsNode) {
String model = carNode.get("model").asText();
int year = carNode.get("year").asInt();
System.out.println(model + ": " + year);
}
}

在上面的代碼片段中,我們首先使用JsonNode對象獲取cars字段的值,然后判斷是否為數組。如果是數組,則遍歷所有元素,獲取model和year字段的值,并進行輸出。

總之,Jackson提供了非常方便的API,可以讓我們輕松地處理JSON數據格式。通過使用JsonNode對象,我們可以快速獲取JSON中的各個元素,并將其轉換成Java類型,進而實現自己的業(yè)務邏輯。