import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.ObjectUtils;
// 该类可以解析所有层次的Json属性并输出
public class AllJsonParser {
public static void main(String[] args) {
String jsonStr = "YOUR_JSON_HERE";
Object obj = JSON.parse(jsonStr);
JSONObject jsonObject = JSONObject.parseObject(jsonStr);
AllJsonParser.traverseJson(jsonObject);
}
public static void parseJson(Object obj) {
if (obj instanceof JSONObject) {
JSONObject jsonObj = (JSONObject) obj;
for (String key : jsonObj.keySet()) {
Object value = jsonObj.get(key);
System.out.println(key + ": " + value.toString());
parseJson(value);
}
} else if (obj instanceof JSONArray) {
JSONArray jsonArray = (JSONArray) obj;
for (int i = 0; i < jsonArray.size(); i++) {
Object value = jsonArray.get(i);
parseJson(value);
}
}
}
public static void traverseJson(JSONObject jsonObj) {
for (String key : jsonObj.keySet()) {
Object obj = jsonObj.get(key);
if (obj instanceof JSONObject) {
System.out.println(obj + " : ");
traverseJson((JSONObject) obj);
} else if (obj instanceof JSONArray) {
System.out.println(key + " : ------->");
JSONArray jsonArray = (JSONArray) obj;
for (Object o : jsonArray) {
if (o instanceof JSONObject) {
traverseJson((JSONObject) o);
} else {
System.out.println(o);
}
}
} else {
System.out.println(key + " : " + (ObjectUtils.isEmpty(obj) ? "空" : obj));
}
}
}
}