尝试获取图像的url,这是在JsonObject中,并且两者都在其他JsonObject中
这是引发我的错误
05-25 03:09:51.120 9573-9836/com.learn2crack.tab W/System.err﹕ org.json.JSONException: No value for thumbnail_images
05-25 03:09:51.134 9573-9836/com.learn2crack.tab W/System.err﹕ at org.json.JSONObject.get(JSONObject.java:355)
05-25 03:09:51.134 9573-9836/com.learn2crack.tab W/System.err﹕ at org.json.JSONObject.getJSONObject(JSONObject.java:574)
05-25 03:09:51.134 9573-9836/com.learn2crack.tab W/System.err﹕ at com.learn2crack.tab.ListaCat$GetLocales.doInBackground(ListaCat.java:141)
05-25 03:09:51.134 9573-9836/com.learn2crack.tab W/System.err﹕ at com.learn2crack.tab.ListaCat$GetLocales.doInBackground(ListaCat.java:92)
05-25 03:09:51.134 9573-9836/com.learn2crack.tab W/System.err﹕ at android.os.AsyncTask$2.call(AsyncTask.java:288)
05-25 03:09:51.134 9573-9836/com.learn2crack.tab W/System.err﹕ at java.util.concurrent.FutureTask.run(FutureTask.java:237)
05-25 03:09:51.135 9573-9836/com.learn2crack.tab W/System.err﹕ at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
05-25 03:09:51.135 9573-9836/com.learn2crack.tab W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
05-25 03:09:51.135 9573-9836/com.learn2crack.tab W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
05-25 03:09:51.135 9573-9836/com.learn2crack.tab W/System.err﹕ at java.lang.Thread.run(Thread.java:841)
JSON
{"status":"ok","count":2,"count_total":2,"pages":1,"posts":[{"id":4121,"type":"post","slug":"comida-2","url":"http:\/\/web\/comida-2\/","status":"publish","title":"comida 2","title_plain":"comida 2","content":"","excerpt":"","date":"2014-04-18 20:12:33","modified":"2014-05-17 19:10:09","categories":[{"id":13,"slug":"comida","title":"comida","description":"","parent":0,"post_count":2}],"tags":[],"author":{"id":1,"slug":"newmesis","name":"newmesis","first_name":"Luis","last_name":"Ruiz","nickname":"newmesis","url":"","description":"Ingeniero en inform\u00e1tica IP Santo Tomas Chillan"},"comments":[],"attachments":[],"comment_count":0,"comment_status":"open","custom_fields":{"correo":[""],"telefono":["0"],"sample_custom_field":[""],"sample_textarea":[""],"sample_image_field":[""],"layout":[""],"sidebar":[""],"header_title_bar":[""],"header_transparency":[""],"footer":[""],"restrict_roles":[""]}},{"id":4119,"type":"post","slug":"comida-1","url":"http:\/\/web\/comida-1\/","status":"publish","title":"comida 1","title_plain":"comida 1","content":"","excerpt":"","date":"2014-04-18 20:12:08","modified":"2014-05-25 03:02:26","categories":[{"id":13,"slug":"comida","title":"comida","description":"","parent":0,"post_count":2}],"tags":[],"author":{"id":1,"slug":"newmesis","name":"newmesis","first_name":"Luis","last_name":"Ruiz","nickname":"newmesis","url":"","description":"Ingeniero en inform\u00e1tica IP Santo Tomas Chillan"},"comments":[],"attachments":[],"comment_count":0,"comment_status":"open","thumbnail":null,"custom_fields":{"correo":[""],"telefono":["81801756"],"sample_custom_field":[""],"sample_textarea":[""],"sample_image_field":[""],"layout":[""],"sidebar":[""],"header_title_bar":[""],"header_transparency":[""],"footer":[""],"mapa":["a:3:{s:7:\"address\";s:49:\"Volc\u00e1n Parinacota 1202, Chill\u00e1n, Biob\u00edo, Chile\";s:3:\"lat\";s:11:\"-36.6204309\";s:3:\"lng\";s:11:\"-72.0796431\";}"],"horario":[""]},"thumbnail_size":"post-thumbnail","thumbnail_images":{"full":{"url":"http:\/\/web\/wp-content\/uploads\/sites\/6\/2014\/05\/mcdonalds21.jpg","width":560,"height":387},"thumbnail":{"url":"http:\/\/web\/wp-content\/uploads\/sites\/6\/2014\/05\/mcdonalds21-80x80.jpg","width":80,"height":80},"medium":{"url":"http:\/\/web\/wp-content\/uploads\/sites\/6\/2014\/05\/mcdonalds21-300x300.jpg","width":300,"height":300},"twentyfourteen-full-width":{"url":"http:\/\/web\/wp-content\/uploads\/sites\/6\/2014\/05\/mcdonalds21.jpg","width":560,"height":387}}}],"query":{"ignore_sticky_posts":true,"count":"10","status":"published"}}
我试图获取参数full
码
for (int i = 0; i < Locales.length(); i++) {
JSONObject c = Locales.getJSONObject(i);
String id = c.getString(TAG_ID);
String title = c.getString(TAG_title);
JSONObject phone = c.getJSONObject(TAG_CUSTOM);
JSONArray araycus = phone.getJSONArray(TAG_TELEFONO);
String mobile = araycus.getString(0);
JSONObject images = c.getJSONObject(TAG_THUM);
JSONObject fullurl = images.getJSONObject(TAG_THUM_FULL);
String thumbnail = fullurl.getString(TAG_THUM_FULL_URL);
HashMap<String, String> LocalesMAP = new HashMap<String, String>();
LocalesMAP.put(TAG_ID, id);
LocalesMAP.put(TAG_title, title);
LocalesMAP.put(TAG_TELEFONO, mobile);
LocalesMAP.put(TAG_THUM_FULL,thumbnail);
LocalesList.add(LocalesMAP);
答案 0 :(得分:0)
试试这个..
而不是这个..
JSONObject images = c.getJSONObject(TAG_THUM);
JSONObject fullurl = images.getJSONObject(TAG_THUM_FULL);
String thumbnail = fullurl.getString(TAG_THUM_FULL_URL);
添加
JSONObject images = null;
String thumbnail = "";
if(c.has(TAG_THUM)){
images = c.getJSONObject(TAG_THUM);
JSONObject fullurl = images.getJSONObject(TAG_THUM_FULL);
thumbnail = fullurl.getString(TAG_THUM_FULL_URL);
}
首先没有thumbnail_images
只有第二项,以便No value for thumbnail_images
使用has
进行检查是否可用