1

JSONObject "name" に "abcd" が含まれているこの JSONArray をフィルタリングする方法

{
    "items":[{
            "id":"082111",
            "name":"abcd efgh"
        }, {
            "id":"082112",
            "name":"abcd klmn"
        }, {
            "id":"082113",
            "name":"klmn efgh"
        }, {
            "id":"082114",
            "name":"abcd efgh"
        }, {
            "id":"082115",
            "name":"efgh oprs"
        }
    ]
}

そして結果は

{
    "items":[{
            "id":"082111",
            "name":"abcd efgh"
        }, {
            "id":"082112",
            "name":"abcd klmn"
        }, {
            "id":"082114",
            "name":"abcd efgh"
        }
    ]
}

どうすればそのような結果を得ることができますか?JSONArray を ArrayList に変換し、ArrayList に変換したときにフィルタリングし、JSONArray に再度変換する必要がありますか? はいの場合、JSONArray を ArrayList に変換してフィルタリングするにはどうすればよいですか? そして再び JSONArray に変換しますか? サンプルコードを教えてください。

4

1 に答える 1

0

次のコードを使用すると、あなたが言ったように文字 abcd で始まる、必要なものが得られます。

            JSONObject json = new JSONObject(jsonString);
            JSONArray jData = json.getJSONArray("items");
            for (int i = 0; i < jData.length(); i++) {
                JSONObject jo = jData.getJSONObject(i);

                if ((jo.getString("name")).startsWith("abcd", 0)) {

                    Log.i("Name is ", jo.getString("name"));

                }

            }
于 2013-02-01T05:00:00.553 に答える