0

複数の配列を含む JSON ファイルを解析する必要があります。配列の形式は次のとおりです。

{
    "List": {
        "Something": [
            {
                "Name": "John",
                "phone": "test"
            }
        ]
        "SomethingElse": [
            {
                "Name": "Smith",
                "phone": "test"
            }
        ]
    }
}

問題は、次の配列名がどうなるかわからないことです。名前も構造も変更せずに、すべての配列からデータを解析することは可能ですか?

ありがとう。

4

3 に答える 3

0

これを試して

キー名を知らなくても JsonObject を再帰的に反復する関数を作成しました。

private void parseJson(JSONObject data) {

        if (data != null) {
            Iterator<String> it = data.keys();
            while (it.hasNext()) {
                String key = it.next();

                try {
                    if (data.get(key) instanceof JSONArray) {
                        JSONArray arry = data.getJSONArray(key);
                        int size = arry.length();
                        for (int i = 0; i < size; i++) {
                            parseJson(arry.getJSONObject(i));
                        }
                    } else if (data.get(key) instanceof JSONObject) {
                        parseJson(data.getJSONObject(key));
                    } else {
                        System.out.println("" + key + " : " + data.optString(key));
                    }
                } catch (Throwable e) {
                    System.out.println("" + key + " : " + data.optString(key));
                    e.printStackTrace();

                }
            }
        }
    }
于 2013-08-24T08:56:44.820 に答える