2015-05-13 6 views
-1

Я работаю над приложением, которое выполняет поиск на моем сервере, передача данных основана на JSON, но я испытываю проблемы при анализе результатов, если нет сети I получить NullException при получении информации от объекта JSON, я попытался проверить соединение, если он подключен к Интернету, тогда он может продолжаться, но в ситуациях, когда он запрашивал данные и потерял его при получении с сервера, я получаю NullException тоже, что я думал, была проверка, если объект JSON является недействительным до закалки с ним, но все методы проверки нулевой я знаю, не удалось, ниже мой JAVA код:Как проверить, является ли объект JSON равным null в Java

mCommentList = new ArrayList<HashMap<String, String>>(); 


      try { 

       // Building Parameters 
       List<NameValuePair> params = new ArrayList<NameValuePair>(); 
       params.add(new BasicNameValuePair("query", searchbox.getText().toString())); 


       Log.d("request!", "starting Search"); 
       // getting product details by making HTTP request 
       JSONObject json = jsonParser.makeHttpRequest(SEARCH_URL, "POST", 
         params); 

       // check your log for json response 
       if(json.toString().isEmpty()) 
       { 
        Log.d("Search Attempt", json.toString()); 
       } 

       else{ 
        search = new SEARCH(); 
        search.cancel(true); 



       } 

       Log.d("Search Attempt", json.toString()); 
+0

Где находится NPE? Я бы подумал: 'if (json.toString(). IsEmpty())', правильно? – Felk

+0

IsNotNull (объект); вот как проверить на нуль –

+0

@Felk да прямо там – Chrome

ответ

-2

P аренда загрузить необходимый JUnit JAR файл для включения утверждения

mCommentList = new ArrayList<HashMap<String, String>>(); 


      try { 

       // Building Parameters 
       List<NameValuePair> params = new ArrayList<NameValuePair>(); 
       params.add(new BasicNameValuePair("query", searchbox.getText().toString())); 


       Log.d("request!", "starting Search"); 
       // getting product details by making HTTP request 
       JSONObject json = jsonParser.makeHttpRequest(SEARCH_URL, "POST", 
         params); 

       AssertNotNull(json); //for asserting 

       // To prevent the code form breaking 
       // check your log for json response 
       if(json.toString().isEmpty()) 
       { 
        Log.d("Search Attempt", json.toString()); 
       } 

       else{ 
        search = new SEARCH(); 
        search.cancel(true); 



       } 

       Log.d("Search Attempt", json.toString()); 
+0

спасибо, у меня был тяжелый день из-за этого. – Chrome

+0

@Chrome вам нужно импортировать org.junit для создания утверждения –

+0

спасибо, я собирался спросить, что: D – Chrome

Смежные вопросы