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

java org.json 遞歸遍歷

錢良釵1年前8瀏覽0評論

org.json是Java中的一個JSON庫,它提供了創(chuàng)建、解析和操作JSON對象的功能。在使用org.json庫時,我們有時需要對JSON對象進(jìn)行遞歸遍歷,以便查找或修改其中的屬性或值。以下是如何使用org.json遞歸遍歷JSON的示例代碼:

import org.json.*;
public class JsonTraversal {
public static void traverseJson(JSONObject json) {
for (String key : json.keySet()) {
Object value = json.get(key);
if (value instanceof JSONObject) {
// 如果值是JSONObject類型,則遞歸遍歷
traverseJson((JSONObject) value);
} else if (value instanceof JSONArray) {
// 如果值是JSONArray類型,則遍歷其中的所有元素并遞歸遍歷
JSONArray array = (JSONArray) value;
for (int i = 0; i< array.length(); i++) {
if (array.get(i) instanceof JSONObject) {
traverseJson((JSONObject) array.get(i));
}
}
} else {
// 值不是復(fù)合類型,則對其進(jìn)行操作
System.out.println("key: " + key + ", value: " + value);
}
}
}
public static void main(String[] args) {
String jsonString = "{ \"name\": \"John\", \"age\": 30, \"address\": { \"city\": \"New York\", \"state\": \"NY\" }, \"hobbies\": [ \"reading\", { \"type\": \"sports\", \"name\": \"soccer\" } ] }";
JSONObject json = new JSONObject(jsonString);
traverseJson(json);
}
}

在上述代碼中,traverseJson方法接收一個JSONObject對象作為參數(shù),并遍歷其中的所有屬性和值。當(dāng)屬性值是JSONObject或JSONArray類型時,方法會遞歸調(diào)用traverseJson方法,以便遍歷更深層次的JSON對象。在方法的最后,我們對單獨(dú)的屬性值進(jìn)行了操作并輸出。

使用org.json遞歸遍歷JSON對象非常方便和實(shí)用,它可以讓我們輕松地查找、替換或刪除JSON對象中的特定屬性或值。