В этом вопросе есть вопрос о satckoverflow, но я не нашел успеха у них. Итак, вот мой случай. Я читал некоторые фотографии из Facebookorg.json.JSONException no value data
https://graph.facebook.com/170665393122726?fields=name,photos.fields(source)
эта ссылка имеет нумерацию страниц в ней так я получаю 25 изображение на странице так на первой странице я получить 25 снимков для следующего 25 я перейти к следующему URL-адресу, но когда я принести следующая страница это дает мне org.json.JSONException.
Вот мой код
arraylist = new ArrayList<String>();
boolean firsttime = true;
JSONArray jsonArrayPhotos;
try
{
JSONServiceHandler _json_parser= new JSONServiceHandler();
jsonobject = _json_parser.getJSONFromUrl(url);
while(url != null)
{
if(jsonobject != null)
{
if(firsttime)
{
jsonobject = jsonobject.getJSONObject("photos");
jsonArrayPhotos = jsonobject.getJSONArray(TAG_DATA);
firsttime = false;
}
else
{
jsonArrayPhotos = jsonobject.getJSONArray("TAG_DATA");
}
for (int i = 0; i < jsonArrayPhotos.length(); i++)
{
ArrayList<String> map = new ArrayList<String>();
JSONObject jObject = jsonArrayPhotos.getJSONObject(i);
String source = jObject.getString(TAG_IMAGE_SOURCE);
map.add(source);
arraylist.addAll(map);
}
//next url
JSONObject jsonpag = jsonobject.getJSONObject("paging");
url = jsonpag.getString("next");
jsonobject = _json_parser.getJSONFromUrl(url);
}
else
{
return null;
}
}//end of while
}
catch (Exception e)
{
e.printStackTrace();
/*exceptionToBeThrown=e;
return "null";*/
}
Помогите пожалуйста.
Вход
02-20 02:54:25.401: W/System.err(358): org.json.JSONException: No value for TAG_DATA
02-20 02:54:25.401: W/System.err(358): at org.json.JSONObject.get(JSONObject.java:354)
02-20 02:54:25.401: W/System.err(358): at org.json.JSONObject.getJSONArray(JSONObject.java:544)
02-20 02:54:25.401: W/System.err(358): at com.app_desk.hairstyle.main.Category$DownloadJSON.doInBackground(Category.java:144)
02-20 02:54:25.401: W/System.err(358): at com.app_desk.hairstyle.main.Category$DownloadJSON.doInBackground(Category.java:1)
02-20 02:54:25.421: W/System.err(358): at android.os.AsyncTask$2.call(AsyncTask.java:185)
02-20 02:54:25.421: W/System.err(358): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
02-20 02:54:25.421: W/System.err(358): at java.util.concurrent.FutureTask.run(FutureTask.java:138)
02-20 02:54:25.421: W/System.err(358): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
02-20 02:54:25.421: W/System.err(358): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
02-20 02:54:25.421: W/System.err(358): at java.lang.Thread.run(Thread.java:1019)
Что такое 'TAG_DATA'. если он не будет 'jsonArrayPhotos = jsonobject.getJSONArray (TAG_DATA);' without '" "' – Raghunandan
TAG_DATA = "data" – umerk44
Опубликовать stacktrace full – Raghunandan