繁体   English   中英

如何在Android Java中使用JSON数组调用此嵌套JSON

[英]How Can I Call this Nested JSON with the JSON Array in Android Java

我想从下面的JSON中仅过滤出一个Cinemax,而无需重复进行操作,而是使用RecyclerView来获取数据,但是它重复了Cinemax。如何过滤掉一个Cinemax而又不忽略其他嵌套数据。

[{"Cinemax":"Metrop Cinemax","Contacts":"0704594180",
"Movie":[{"MovieName":"Ice Age 3","ShowTime":{"Monday":"1:30 p.m , 3:40 p.m",
"Tuesday":"1:30 pm , 3:40 p.m","Wednesday":"1:30 p.m., 3:40 p.m","Thursday":"1:30 p.m., 3:40 p.m",
"Friday":"1:30 p.m., 3:40 p.m","Saturday":"1:30 p.m., 3:40 p.m","Sunday":"1:30 p.m., 3:40 p.m"},
"Synopsis":"Manny, Diego and sid","photo":"ice_age_3.jpg","others":null}]},
{"Cinemax":"Metrop Cinemax","Contacts":"0704594180",
"Movie":[{"MovieName":"Zootopia","ShowTime":{"Monday":"4:30 p.m , 6:30 p.m","Tuesday":"4:30 p.m , 6:30 p.m",
"Wednesday":"4:30 p.m , 6:30 p.m","Thursday":"4:30 p.m , 6:30 p.m","Friday":"4:30 p.m , 6:30 p.m",
"Saturday":"4:30 p.m , 6:30 p.m","Sunday":"4:30 p.m , 6:30 p.m"},
"Synopsis":"Manny, Diego and sid","photo":"zootopia.jpg","others":null}]}
{"Cinemax":"Huxy Cinemax","Contacts":"0704594180",
"Movie":[{"MovieName":"Zootopia","ShowTime":{"Monday":"4:30 p.m , 6:30 p.m","Tuesday":"4:30 p.m , 6:30 p.m",
"Wednesday":"4:30 p.m , 6:30 p.m","Thursday":"4:30 p.m , 6:30 p.m","Friday":"4:30 p.m , 6:30 p.m",
"Saturday":"4:30 p.m , 6:30 p.m","Sunday":"4:30 p.m , 6:30 p.m"},
"Synopsis":"Manny, Diego and sid","photo":"zootopia.jpg","others":null}]}

这是我在Java中使用的方法

private void parseResult(String result) {
        try {

            JSONArray ar = new JSONArray(result);

            feedsList = new ArrayList<>();

            for (int i = 0; i < ar.length(); i++) {
                JSONObject obj = ar.getJSONObject(i);
                ItemObjects item = new ItemObjects();

                item.setCinemaName(obj.optString("CinemaName"));
                item.setContact(obj.optString("Contacts"));
                item.setMovieName(obj.optString("MovieName"));
                item.setMonday(obj.optString("Monday"));
                item.setCinemaxPhoto(obj.optString("Tuesday"));
                .
                .
                .  item.setSynopsis(obj.optString("Synopsis"));
                item.setPhoto(obj.optString("photo"));

                feedsList.add(item);
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
  private void parseResult(String result) {
    try {

        JSONArray ar = new JSONArray(result);

        feedsList = new ArrayList<>();

        for (int i = 0; i < ar.length(); i++) {
            JSONObject obj = ar.getJSONObject(i);
            ItemObjects item = new ItemObjects();

            item.setCinemaName(obj.optString("CinemaName"));
            item.setContact(obj.optString("Contacts"));

            //Here you have another Movie Json Array so get it in JSONArray
            JSONArray movieArray =obj.getJSONArray("Movie");

            //get the first object of Movie  JSONArray and use it.
            JSONObject movieObject=movieArray.getJSONObject(0);


            item.setMovieName(movieObject.optString("MovieName"));


            //This JSOn object to get SHOWTIME object
            JSONObject showTime=movieObject.getJSONObject("ShowTime");

            item.setMonday(showTime.optString("Monday"));
            item.setCinemaxPhoto(showTime.optString("Tuesday"));

            item.setSynopsis(movieObject.optString("Synopsis"));
            item.setPhoto(movieObject.optString("photo"));

            feedsList.add(item);
        }
    } catch (JSONException e) {
        e.printStackTrace();
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM