0

有没有办法确定 json 对象的不同内容是什么?

它是否包含json数组?如果是这样,该 json 数组中是否有任何 json 对象?

4

2 回答 2

0

是的,你当然可以这样做。看一下JSONObject参考资料:

http://www.json.org/javadoc/org/json/JSONObject.html

您可以使用keys()迭代器来发现当前节点内可用的元素。

然后,您可以使用instanceof运算符来检查某个节点是否为JSONArrayString其他。

于 2013-05-13T09:48:34.980 回答
0

尝试这个

public void analyzeJSON(String jsonString) {
    JSONTokener tok = new JSONTokener(jsonString);
    while(tok.more()) {
        try {
            Object item = tok.nextValue();
            if (item instanceof JSONObject) {
                // JSON Object
                analyzeJSON(item.toString());
            } else if (item instanceof JSONArray) {
                // JSON Array
                JSONArray array = (JSONArray) item;
                for (int i = 0; i < array.length(); i++) {
                    Object subItem = array.get(i);
                    if (subItem instanceof JSONObject) {
                        // JSON Object
                        analyzeJSON(item.toString());
                    } else if (subItem instanceof JSONArray) {
                        // JSON Array inside array
                    } else {
                        // Something
                    }
                }
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
}

希望这可以帮助。

于 2013-05-13T09:49:41.133 回答