我如何过滤这个JSONArray JSONObject" name"包含" abcd"
{
"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? 请给我样品代码。
答案 0 :(得分: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"));
}
}