Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从JSONobject中的嵌套JSONarray收集数据?_Android_Json_Api_Listview_Android Volley - Fatal编程技术网

Android 如何从JSONobject中的嵌套JSONarray收集数据?

Android 如何从JSONobject中的嵌套JSONarray收集数据?,android,json,api,listview,android-volley,Android,Json,Api,Listview,Android Volley,我是Android的新手。我想从Ticketmaster api收集数据并在ListView中显示。我在截击。 api的JSONview for (int i = 0; i < response.length(); i++) { try { JSONObject obj = response.getJSONObject("_embedded");

我是Android的新手。我想从Ticketmaster api收集数据并在ListView中显示。我在截击。 api的JSONview

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

                    JSONObject obj = response.getJSONObject("_embedded");
                     Iterator iterator = Obj.keys();

                    //while(iterator.hasNext()){
                    String key = (String) iterator.next();
                    JSONObject issue = Obj.getJSONObject(key);
                    JSONArray array = obj.getJSONArray("events");
                    JSONObject obj2 = array.getJSONObject(i);
                    JSONObject obj = response.getJSONObject("_embedded");
                    JSONArray array1 = obj2.getJSONArray("venues");
                    JSONObject obj3 = array1.getJSONObject(0);
                    JSONObject obj4 = obj3.getJSONObject("city");
                    String key1 = (String) iterator.next();
                    JSONObject issue1 = Obj.getJSONObject(key1);
                    Event event = new Event();
                    event.setName(obj2.getString("name"));


                    // adding movie to movies array
                    eventList.add(event);

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

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

                    JSONObject obj = response.getJSONObject("_embedded");
                     Iterator iterator = Obj.keys();

                    //while(iterator.hasNext()){
                    String key = (String) iterator.next();
                    JSONObject issue = Obj.getJSONObject(key);
                    JSONArray array = obj.getJSONArray("events");
                    JSONObject obj2 = array.getJSONObject(i);
                    JSONObject obj = response.getJSONObject("_embedded");
                    JSONArray array1 = obj2.getJSONArray("venues");
                    JSONObject obj3 = array1.getJSONObject(0);
                    JSONObject obj4 = obj3.getJSONObject("city");
                    String key1 = (String) iterator.next();
                    JSONObject issue1 = Obj.getJSONObject(key1);
                    Event event = new Event();
                    event.setName(obj2.getString("name"));


                    // adding movie to movies array
                    eventList.add(event);

                } catch (JSONException e) {
                    e.printStackTrace();
                }
如图所示,我想显示分类和场馆的数据。但是在模型类中使用时,它没有显示

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

                    JSONObject obj = response.getJSONObject("_embedded");
                     Iterator iterator = Obj.keys();

                    //while(iterator.hasNext()){
                    String key = (String) iterator.next();
                    JSONObject issue = Obj.getJSONObject(key);
                    JSONArray array = obj.getJSONArray("events");
                    JSONObject obj2 = array.getJSONObject(i);
                    JSONObject obj = response.getJSONObject("_embedded");
                    JSONArray array1 = obj2.getJSONArray("venues");
                    JSONObject obj3 = array1.getJSONObject(0);
                    JSONObject obj4 = obj3.getJSONObject("city");
                    String key1 = (String) iterator.next();
                    JSONObject issue1 = Obj.getJSONObject(key1);
                    Event event = new Event();
                    event.setName(obj2.getString("name"));


                    // adding movie to movies array
                    eventList.add(event);

                } catch (JSONException e) {
                    e.printStackTrace();
                }
JSONObjectRequest中的代码

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

                    JSONObject obj = response.getJSONObject("_embedded");
                     Iterator iterator = Obj.keys();

                    //while(iterator.hasNext()){
                    String key = (String) iterator.next();
                    JSONObject issue = Obj.getJSONObject(key);
                    JSONArray array = obj.getJSONArray("events");
                    JSONObject obj2 = array.getJSONObject(i);
                    JSONObject obj = response.getJSONObject("_embedded");
                    JSONArray array1 = obj2.getJSONArray("venues");
                    JSONObject obj3 = array1.getJSONObject(0);
                    JSONObject obj4 = obj3.getJSONObject("city");
                    String key1 = (String) iterator.next();
                    JSONObject issue1 = Obj.getJSONObject(key1);
                    Event event = new Event();
                    event.setName(obj2.getString("name"));


                    // adding movie to movies array
                    eventList.add(event);

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

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

                    JSONObject obj = response.getJSONObject("_embedded");
                     Iterator iterator = Obj.keys();

                    //while(iterator.hasNext()){
                    String key = (String) iterator.next();
                    JSONObject issue = Obj.getJSONObject(key);
                    JSONArray array = obj.getJSONArray("events");
                    JSONObject obj2 = array.getJSONObject(i);
                    JSONObject obj = response.getJSONObject("_embedded");
                    JSONArray array1 = obj2.getJSONArray("venues");
                    JSONObject obj3 = array1.getJSONObject(0);
                    JSONObject obj4 = obj3.getJSONObject("city");
                    String key1 = (String) iterator.next();
                    JSONObject issue1 = Obj.getJSONObject(key1);
                    Event event = new Event();
                    event.setName(obj2.getString("name"));


                    // adding movie to movies array
                    eventList.add(event);

                } catch (JSONException e) {
                    e.printStackTrace();
                }
请查看这些图片,并帮助我。如何从分类和场馆获取数据

                          // Parsing json
                      for (int i = 0; i < response.length(); i++) {
                        try {

                            JSONObject obj = response.getJSONObject("_embedded");
                            JSONArray array = obj.getJSONArray("events");
                            JSONObject obj2 = array.getJSONObject(i);
                            JSONArray array1 = obj2.getJSONArray("classifications");
                            JSONObject obj3 = array1.getJSONObject(0);
                            JSONObject obj4 = obj3.getJSONObject("segment");
                            Event event = new Event();
                            event.setName(obj2.getString("name"));
                            event.setClassifications(obj4.getString("name")); // here i want to get data from segment

                            // adding movie to movies array
                            eventList.add(event);

                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                for (int i = 0; i < response.length(); i++) {
                try {

                    JSONObject obj = response.getJSONObject("_embedded");
                     Iterator iterator = Obj.keys();

                    //while(iterator.hasNext()){
                    String key = (String) iterator.next();
                    JSONObject issue = Obj.getJSONObject(key);
                    JSONArray array = obj.getJSONArray("events");
                    JSONObject obj2 = array.getJSONObject(i);
                    JSONObject obj = response.getJSONObject("_embedded");
                    JSONArray array1 = obj2.getJSONArray("venues");
                    JSONObject obj3 = array1.getJSONObject(0);
                    JSONObject obj4 = obj3.getJSONObject("city");
                    String key1 = (String) iterator.next();
                    JSONObject issue1 = Obj.getJSONObject(key1);
                    Event event = new Event();
                    event.setName(obj2.getString("name"));


                    // adding movie to movies array
                    eventList.add(event);

                } catch (JSONException e) {
                    e.printStackTrace();
                }
//解析json
对于(int i=0;i

谢谢!!!

请检查这个

JSONObject object = new JSONObject(response.toString());
JSONObject embedded = object.getJSONObject("_embedded");
JSONArray eventsArray = embedded.getJSONArray("events");

for(int i = 0;i<eventsArray.length();i++){
  JSONObject event = eventsArray.getJSONObject(i);
  // Parse data from this event object
}
                for (int i = 0; i < response.length(); i++) {
                try {

                    JSONObject obj = response.getJSONObject("_embedded");
                     Iterator iterator = Obj.keys();

                    //while(iterator.hasNext()){
                    String key = (String) iterator.next();
                    JSONObject issue = Obj.getJSONObject(key);
                    JSONArray array = obj.getJSONArray("events");
                    JSONObject obj2 = array.getJSONObject(i);
                    JSONObject obj = response.getJSONObject("_embedded");
                    JSONArray array1 = obj2.getJSONArray("venues");
                    JSONObject obj3 = array1.getJSONObject(0);
                    JSONObject obj4 = obj3.getJSONObject("city");
                    String key1 = (String) iterator.next();
                    JSONObject issue1 = Obj.getJSONObject(key1);
                    Event event = new Event();
                    event.setName(obj2.getString("name"));


                    // adding movie to movies array
                    eventList.add(event);

                } catch (JSONException e) {
                    e.printStackTrace();
                }
JSONObject object=newjsonobject(response.toString());
JSONObject embedded=object.getJSONObject(“_embedded”);
JSONArray eventsArray=embedded.getJSONArray(“事件”);

对于(int i=0;i,您可以将json数据转换为pojo模型类。这将帮助您轻松获取值。以下是模型pojo类的示例

public class ItemOption {
@SerializedName("embeded")
@Expose
private Embeded embeded;public Embeded getEmbeded() {
    return embeded;
}

public void setEmbeded(Embeded embeded) {
    this.embeded = embeded;
}

public class City {

    @SerializedName("name")
    @Expose
    private String name;

    public String getName() {
        return name;
    }

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

}

public class Embeded {

    @SerializedName("events")
    @Expose
    private List<Event> events = null;

    public List<Event> getEvents() {
        return events;
    }

    public void setEvents(List<Event> events) {
        this.events = events;
    }

}

public class Embeded_ {

    @SerializedName("venue")
    @Expose
    private List<Venue> venue = null;

    public List<Venue> getVenue() {
        return venue;
    }

    public void setVenue(List<Venue> venue) {
        this.venue = venue;
    }

}

public class Event {

    @SerializedName("embeded")
    @Expose
    private Embeded_ embeded;

    public Embeded_ getEmbeded() {
        return embeded;
    }

    public void setEmbeded(Embeded_ embeded) {
        this.embeded = embeded;
    }

}


public class Venue {

    @SerializedName("city")
    @Expose
    private City city;

    public City getCity() {
        return city;
    }

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

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

                    JSONObject obj = response.getJSONObject("_embedded");
                     Iterator iterator = Obj.keys();

                    //while(iterator.hasNext()){
                    String key = (String) iterator.next();
                    JSONObject issue = Obj.getJSONObject(key);
                    JSONArray array = obj.getJSONArray("events");
                    JSONObject obj2 = array.getJSONObject(i);
                    JSONObject obj = response.getJSONObject("_embedded");
                    JSONArray array1 = obj2.getJSONArray("venues");
                    JSONObject obj3 = array1.getJSONObject(0);
                    JSONObject obj4 = obj3.getJSONObject("city");
                    String key1 = (String) iterator.next();
                    JSONObject issue1 = Obj.getJSONObject(key1);
                    Event event = new Event();
                    event.setName(obj2.getString("name"));


                    // adding movie to movies array
                    eventList.add(event);

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

请尝试此代码以获取城市

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

                        JSONObject obj = response.getJSONObject("_embedded");
                        JSONArray array = obj.getJSONArray("events");
                        JSONObject obj2 = array.getJSONObject(i);
                        JSONObject obj = response.getJSONObject("_embedded");
                        JSONArray array1 = obj2.getJSONArray("venues");
                        JSONObject obj3 = array1.getJSONObject(0);
                        JSONObject obj4 = obj3.getJSONObject("city");
                        Event event = new Event();
                        event.setName(obj2.getString("name"));


                        // adding movie to movies array
                        eventList.add(event);

                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                for (int i = 0; i < response.length(); i++) {
                try {

                    JSONObject obj = response.getJSONObject("_embedded");
                     Iterator iterator = Obj.keys();

                    //while(iterator.hasNext()){
                    String key = (String) iterator.next();
                    JSONObject issue = Obj.getJSONObject(key);
                    JSONArray array = obj.getJSONArray("events");
                    JSONObject obj2 = array.getJSONObject(i);
                    JSONObject obj = response.getJSONObject("_embedded");
                    JSONArray array1 = obj2.getJSONArray("venues");
                    JSONObject obj3 = array1.getJSONObject(0);
                    JSONObject obj4 = obj3.getJSONObject("city");
                    String key1 = (String) iterator.next();
                    JSONObject issue1 = Obj.getJSONObject(key1);
                    Event event = new Event();
                    event.setName(obj2.getString("name"));


                    // adding movie to movies array
                    eventList.add(event);

                } catch (JSONException e) {
                    e.printStackTrace();
                }
for(int i=0;i

另外,我建议使用解析JSON

尝试一下

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

                    JSONObject obj = response.getJSONObject("_embedded");
                     Iterator iterator = Obj.keys();

                    //while(iterator.hasNext()){
                    String key = (String) iterator.next();
                    JSONObject issue = Obj.getJSONObject(key);
                    JSONArray array = obj.getJSONArray("events");
                    JSONObject obj2 = array.getJSONObject(i);
                    JSONObject obj = response.getJSONObject("_embedded");
                    JSONArray array1 = obj2.getJSONArray("venues");
                    JSONObject obj3 = array1.getJSONObject(0);
                    JSONObject obj4 = obj3.getJSONObject("city");
                    String key1 = (String) iterator.next();
                    JSONObject issue1 = Obj.getJSONObject(key1);
                    Event event = new Event();
                    event.setName(obj2.getString("name"));


                    // adding movie to movies array
                    eventList.add(event);

                } catch (JSONException e) {
                    e.printStackTrace();
                }
for(int i=0;i<代码> SETStaseStudio需要一个<代码>列表>代码>,并将其设置为一个字符串。请注意使用GSON……您可以参考该网站将JSON转换为POJO。我使用TigKMetror的依赖项。它提供模型类。您可以从TigKMetro模型类AN获得值。d将其插入模型itemOption.setEmbedded(您的模型类对象);使用静态字符串获取诸如:obj3.getJSONObject(“段”)之类的值不是一个好方法;它只解析事件中的数据,但在事件中有数组,我想从它们的