user3751280
user3751280

Reputation: 23

Insert JSON Array on String Array on android

I have JSON array like below format

{
"get": [],
"post": {
    "_event": "get_buyers_guide_detail",
    "_deviceID": "490154203237518",
    "type": "cars",
    "model_id": "1007"
},
"cars": [
    {
        "ID": 6119,
        "post_title": "COROLLA",
        "interior_images": [
            "http://.....e8664969d20654bf2a58f1b26de70d2.jpg",
            "http://........02/3bdfae250e3ce14514fe8f2f9dc3e58f.jpg",
            "http://........1d14a554a2ed78d1659463ec.jpg"
        ],

    }
]
}

I have create JSONArray for this:

JSONArray Array = entries.getJSONArray("cars");
for (int i = 0; i < Array.length(); i++) {
   JSONObject detailObject = Array.getJSONObject(i);
   String ID = detailObject.getString("ID");
   String title = detailObject.getString("post_title");
   JSONArray galleryArray = detailObject.getJSONArray("interior_images");
   for(int j=0; j<galleryArray.length(); j++){
      // What to do here ????   
   }
}

now i am confused with this format of JSON data. There is no JSONObject to get the values. How to insert these string on Array please help me find out the solution

Upvotes: 1

Views: 1483

Answers (5)

Ganesh Pokale
Ganesh Pokale

Reputation: 1594

I think you need to use List of Map

Example:

 List<Map> list = new ArrayList<Map>();
 Map map = new HashMap();
 map.put("userIcon", R.drawable.scott);
 map.put("username", "Shen");
 map.put("usertext", "This is a simple sample for SimpleAdapter");
 list.add(map);


 map = new HashMap();
 map.put("userIcon", R.drawable.ricardo);
 map.put("username", "Ricardo");
 map.put("usertext", "This is a simple sample for SimpleAdapter");
 list.add(map);

add this in loop

Upvotes: 0

Hareshkumar Chhelana
Hareshkumar Chhelana

Reputation: 24848

Try this way,hope this will help you to solve your problem.

try{
    String jsonRespone="{\"get\":[],\"post\":{\"_event\":\"get_buyers_guide_detail\",\"_deviceID\":\"490154203237518\",\"type\":\"cars\",\"model_id\":\"1007\"},\"cars\":[{\"ID\":6119,\"post_title\":\"COROLLA\",\"interior_images\":[\"http://.....e8664969d20654bf2a58f1b26de70d2.jpg\",\"http://........02/3bdfae250e3ce14514fe8f2f9dc3e58f.jpg\",\"http://........1d14a554a2ed78d1659463ec.jpg\"],}]}";
    JSONObject responeJson = new JSONObject(jsonRespone);
    ArrayList<HashMap<String,Object>> data = new ArrayList<HashMap<String, Object>>();
    JSONArray carsJsonArray = responeJson.getJSONArray("cars");
    for (int i=0;i<carsJsonArray.length();i++){
        HashMap<String,Object> row = new HashMap<String, Object>();
        row.put("ID",carsJsonArray.getJSONObject(i).getString("ID"));
        row.put("TITLE",carsJsonArray.getJSONObject(i).getString("post_title"));
        JSONArray galleryArray = carsJsonArray.getJSONObject(i).getJSONArray("interior_images");
        ArrayList<String> interiorImages = new ArrayList<String>();
        for(int j=0; j<galleryArray.length(); j++){
           interiorImages.add(galleryArray.getString(j));
        }
        row.put("INTERIORIMAGES",carsJsonArray.getJSONObject(i).getString("interiorImages"));
           data.add(row);
        }
        for (HashMap<String,Object> row :data){
            System.out.print("ID : "+row.get("ID"));
            System.out.print("TITLE : "+row.get("TITLE"));
            ArrayList<String> interiorImages =  (ArrayList<String>) row.get("INTERIORIMAGES");
            for (int j=0;j<interiorImages.size();j++){
                System.out.print("INTERIORIMAGES  +"+j+" : "+interiorImages.get(j));
            }
         }
  }catch (Throwable e){
     e.printStackTrace();
  }

Upvotes: 0

user2851150
user2851150

Reputation: 405

galleryArray.getString(index);

This function will return String object of corresponding index

Upvotes: 1

Chitrang
Chitrang

Reputation: 5097

Try this,

galleryArray.getString(j);

this should get the string at position j.

Upvotes: 1

Giru Bhai
Giru Bhai

Reputation: 14408

try this

 ArrayList<String> stringArray = new ArrayList<String>();

 JSONArray galleryArray = detailObject.getJSONArray("interior_images");
for(int j=0; j<galleryArray.length(); j++){
  try {
        JSONObject jsonObject = galleryArray.getJSONObject(j);
        stringArray.add(jsonObject.toString());
    }
    catch (JSONException e) {
        e.printStackTrace();
    }
}

Upvotes: 0

Related Questions