get valore in arrays in object json android

ho un pene come questo,

{ "id": 293, "type": "post", "slug": "a-box-rd", "url": "http:\/\/www.godigi.tv\/blog\/2013\/07\/01\/a-box-rd\/", "status": "publish", "title": "A Box R&D", "title_plain": "A Box R&D", "content": "", "excerpt": "", "date": "2013-07-01 09:09:25", "modified": "2013-07-01 09:18:09", "categories": [ { "id": 15, "slug": "info", "title": "Info", "description": "", "parent": 0, "post_count": 7 } ], "tags": [ ], "author": { "id": 2, "slug": "eka2013", "name": "ekawijaya", "first_name": "", "last_name": "", "nickname": "ekawijaya", "url": "", "description": "" }, "comments": [ ], "attachments": [ { "id": 298, "url": "http:\/\/www.godigi.tv\/wp-content\/uploads\/2013\/07\/rnd.jpg", "slug": "rnd", "title": "rnd", "description": "", "caption": "", "parent": 293, "mime_type": "image\/jpeg", "images": { "full": { "url": "http:\/\/www.godigi.tv\/wp-content\/uploads\/2013\/07\/rnd.jpg", "width": 528, "height": 493 }, "thumbnail": { "url": "http:\/\/www.godigi.tv\/wp-content\/uploads\/2013\/07\/rnd-150x150.jpg", "width": 150, "height": 150 }, "medium": { "url": "http:\/\/www.godigi.tv\/wp-content\/uploads\/2013\/07\/rnd-300x280.jpg", "width": 300, "height": 280 }, "large": { "url": "http:\/\/www.godigi.tv\/wp-content\/uploads\/2013\/07\/rnd.jpg", "width": 528, "height": 493 }, "post-thumbnail": { "url": "http:\/\/www.godigi.tv\/wp-content\/uploads\/2013\/07\/rnd-150x150.jpg", "width": 150, "height": 150 }, "custom-small": { "url": "http:\/\/www.godigi.tv\/wp-content\/uploads\/2013\/07\/rnd-160x90.jpg", "width": 160, "height": 90 }, "custom-medium": { "url": "http:\/\/www.godigi.tv\/wp-content\/uploads\/2013\/07\/rnd-320x180.jpg", "width": 320, "height": 180 }, "custom-large": { "url": "http:\/\/www.godigi.tv\/wp-content\/uploads\/2013\/07\/rnd-528x360.jpg", "width": 528, "height": 360 }, "custom-full": { "url": "http:\/\/www.godigi.tv\/wp-content\/uploads\/2013\/07\/rnd.jpg", "width": 528, "height": 493 } } } ], "comment_count": 0, "comment_status": "open", "custom_fields": { "dp_video_poster": [ "http:\/\/www.godigi.tv\/wp-content\/uploads\/2013\/07\/rnd.jpg" ], "views": [ "7" ], "likes": [ "0" ], "dp_video_file": [ "http:\/\/www.godigi.tv\/wp-content\/uploads\/2013\/07\/03-A-BOX-RD-ada-pak-bulit.mp4" ] } }, 

e io uso il codice come questo =>

 jsonarrays = jsonobject.getJSONArray("posts"); for (int i = 0; i < jsonarrays.length(); i++) { HashMap<String, String> map = new HashMap<String, String>(); jsonobject = jsonarrays.getJSONObject(i); JSONObject jsoncustom; jsoncustom = jsonobject.getJSONObject("custom_fields"); JSONArray araycus = jsoncustom.getJSONArray("dp_video_poster"); String urlvid = araycus.getString(i); // Retrive JSON Objects map.put("title", jsonobject.getString("title")); map.put("date", jsonobject.getString("date")); map.put("dp_video_poster", urlvid); // Set the JSON Objects into the arrays arrayslist.add(map); } 

quello che mi aspetto per l'output è:

title =

data =

poster (questo è nella cartella dp_video_poster) =

video (questo è nella cartella dp_video_file) =

Qualcuno può aiutarmi con questo?

Grazie in anticipo

Questa function è di leggere il tuo file json. E rimuovi i due punti che alla fine del tuo errore. Verifica il tuo errore su questo sito http://jsonviewer.stack.hu/

 public String readFile(String filepath) throws IOException { File f = new File(filepath); FileInputStream in = new FileInputStream(f); int size = in.available(); byte c[] = new byte[size]; for (int i = 0; i < size; i++) { c[i] = (byte) in.read(); } String filedata = new String(c, "utf-8"); return filedata; } 

Questa function analizzerà il tuo file json

 public void parseJson() { try { String filepath = Environment.getExternalStorageDirectory() + "/j/test.json"; String data = readFile(filepath); JSONObject filedata = new JSONObject(data); JSONArray categories = (JSONArray) filedata.get("categories"); JSONObject categorie = (JSONObject) categories.get(0); JSONObject custom_field = (JSONObject) filedata .get("custom_fields"); JSONArray dp_video_posters = (JSONArray) custom_field .get("dp_video_poster"); JSONArray dp_video_files = (JSONArray) custom_field .get("dp_video_file"); // getting title String maintitle = (String) filedata.get("title"); // getting title from categories String title = (String) categorie.get("title"); // getting date String date = (String) filedata.get("date"); // getting poster String dp_video_poster = (String) dp_video_posters.get(0); // getting video String dp_video_file = (String) dp_video_files.get(0); } catch (JSONException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } }