我有一个像这样的哈希数组
[
{"id":"1","name":"Apple","category":"fruit"},
{"id":"2","name":"Ball","category":"toy"},
{"id":"3","name":"Cat","category":"animal"},
..
..
{"id":"500","name":"yoyo","category":"toy"},
..
]
我有一个接受JsonArray
的方法。我怎样才能传递这个,以便以后我可以搜索特定类型的类别toy
并返回其索引?
由于它包含引号,所以我甚至无法弄清楚如何直接将其作为新的JsonArray()传递。
答案 0 :(得分:2)
将您的JSON字符串转换为像这样的JSONArray
对象
JSONArray jsonArray = new JSONArray(jsonString);
使用该方法查找特定类别的所有索引
public List<Integer> getIndexesOfCategory(JSONArray jsonArray,String category) {
List<Integer> indexes = new ArrayList<>();
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
if (category.equals(jsonObject.getString("category"))) {
indexes.add(i);
}
}
return indexes;
}
像这样使用
List<Integer> indexes = getIndexesOfCategory(jsonArray,"toy")
;