如何检查两个不同的Json Url的ID名称是否匹配以显示更多信息?

时间:2019-05-16 00:43:20

标签: java json android-recyclerview

摘要:我正在从一个Json获取数据,并在RecyclerView中显示数据。当用户单击某个项目时,他们应该从另一个具有匹配的“ dbn” ID的Json获取更多数据,并将其显示在另一个RecyclerView中。除了,我不知道该怎么做。我想我需要检查被单击的第一个Json项的“ dbn” id是否存在,并且与其他Json的“ dbn” id匹配。当用户单击Json1项目以从Json2获取数据时,如何检查“ dbn” ID是否存在并且在Json1和Json2之间匹配?

我已经成功创建了一种方法,该方法可从第一个Json获取数据并使用RecyclerView很好地显示数据。这是我使用第一个Json Url解析Json数据的方式。

MainActivity.java

 private void jsonrequest() {

    request = new JsonArrayRequest(JSON_SCHOOL_URL, new 
 Response.Listener<JSONArray>() {
        @Override
        public void onResponse(JSONArray response) {

            JSONObject jsonObject = null;

            for (int i = 0; i < response.length(); i++){

                try{
                    jsonObject = response.getJSONObject(i);
                    School school = new School();
                    school.setDbn(jsonObject.getString("dbn"));
                    school.setCity(jsonObject.getString("city"));
                    school.setName(jsonObject.getString("school_name"));
                    schoolList.add(school);

                } catch (JSONException e) {
                    e.printStackTrace();
                }

            }

            setupRecyclerView(schoolList);

        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {

        }
    });

    requestQueue = Volley.newRequestQueue(MainActivity.this);
    requestQueue.add(request);
  }

SchoolModelData.java

public class School {


private String dbn;
private String city;
private String name;

public School(){}

public School(String dbn, String city, String name) {
    this.dbn = dbn;
    this.city = city;
    this.name = name;
}

public String getDbn() {
    return dbn;
}

public void setDbn(String dbn) {
    this.dbn = dbn;
}

public String getCity() {
    return city;
}

public void setCity(String city) {
    this.city = city;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}
}

预期结果:用户单击Json1项目,从Json2获取与Json1项目匹配的数据。

实际结果:用户单击Json1项目,从Json2获取所有数据。

0 个答案:

没有答案