我正在尝试从以下JSON文件中获取名称为 Item2 的项目的 testId :
Debian
这个JSON是我在postman上运行的GET请求的响应。
我可以获取此JSON中任何键的值,但我无法添加相关条件,如 获取名称为Item6的项的testID。
我正在使用数组列表来获取所有元素的testID值,这对我来说很好。我可以在下面做任何改变来实现我想要的吗?
dist-packages
PS:getTokenValue(String,String)是我创建的用于获取值的函数,它可以正常工作。
答案 0 :(得分:0)
您可以使用适用于Java的JSON解析器。这是其中一个How to parse JSON in Java。从JSON数组中检索值时,可以进行简单的字符串比较以检查条件。希望有所帮助。
答案 1 :(得分:0)
我知道了!感谢@Castor提示。 以下为我工作:
responseJson 是我从GET请求获得的JSON文件。
protected int getIdFromArrayOfCollectionItems(String responseJson) throws JSONException{
int collectionId=0;
JSONObject root = new JSONObject(responseJson).getJSONObject("data");
JSONArray collectionArray = root.getJSONArray("collections");
for(int i =0 ;i<collectionArray.length();i++){
JSONObject collectionObject = collectionArray.getJSONObject(i);
String name = collectionObject.getString("name");
if(name.equalsIgnoreCase("Item2")){
collectionId = collectionObject.getInt("collectionId");
System.out.println("collection ID::"+collectionId);
}
}
return collectionId;
}
当然我会将Item name作为参数传递给更多动态行为,但它可以工作:)