2015-11-09 2 views
0

Кто-нибудь знает, что такое синтаксис для проверки объекта JSON, который не возвращает значения? Например, если пользователь вводит неверный веб-адрес, а код JSON ничего не извлекает. Ниже я первый захватить объект массива от конкретного сайта, который я использую:JSON - Тестирование без значения

JSONArray hourlyForecast = jsonObj.getJSONArray("hourly_forecast"); 

Но что, если это оленья кожа восстановить что-нибудь. Как я могу проверить это? Я пробовал

if(hourlyForecast==null){} 

Но это не работает, потому что я не уверен, что это нулевой объект. Мой журнал кот возвращается это:

org.json.JSONException: No value for error 

Спасибо

ответ

1

Вы можете просто попытаться поймать исключение.

Согласно JavaDocs:

Броски:

JSONException - если ключ не найден или если значение не является JSONArray.

Это означает, что он выдает исключение, если значение не найдено (если это нулевой объект).

Так что вы можете сделать:

try { 
    JSONArray hourlyForecast = jsonObj.getJSONArray("hourly_forecast"); 
catch(JSONException e) { 
    // what to do if empty JSON 
} 
1

Использование jsonObject.has("key") для проверки существования стоимости.

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