How to parse JSON Array (Not Json Object) in Android How to parse JSON Array (Not Json Object) in Android android android

How to parse JSON Array (Not Json Object) in Android


use the following snippet to parse the JsonArray.

JSONArray jsonarray = new JSONArray(jsonStr);for (int i = 0; i < jsonarray.length(); i++) {    JSONObject jsonobject = jsonarray.getJSONObject(i);    String name = jsonobject.getString("name");    String url = jsonobject.getString("url");}


I'll just give a little Jackson example:

First create a data holder which has the fields from JSON string

// imports// ...@JsonIgnoreProperties(ignoreUnknown = true)public class MyDataHolder {    @JsonProperty("name")    public String mName;    @JsonProperty("url")    public String mUrl;}

And parse list of MyDataHolders

String jsonString = // your jsonObjectMapper mapper = new ObjectMapper();List<MyDataHolder> list = mapper.readValue(jsonString,     new TypeReference<ArrayList<MyDataHolder>>() {});

Using list items

String firstName = list.get(0).mName;String secondName = list.get(1).mName;


public static void main(String[] args) throws JSONException {    String str = "[{\"name\":\"name1\",\"url\":\"url1\"},{\"name\":\"name2\",\"url\":\"url2\"}]";    JSONArray jsonarray = new JSONArray(str);    for(int i=0; i<jsonarray.length(); i++){        JSONObject obj = jsonarray.getJSONObject(i);        String name = obj.getString("name");        String url = obj.getString("url");        System.out.println(name);        System.out.println(url);    }   }   

Output:

name1url1name2url2