1

我如何过滤 JSONObject“名称”包含“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 回答