Я попытался добраться до данных прогноза, но не смог, NullPointerException
и иногда сбой. потому что я не могу достичь или получить данные из пункта -> forecast -> {data}
.Как я могу получить или получить API Yahoo Weather из канала объекта JSON -> элемент -> прогноз -> {день1} {день2} {день3} {день4} {день5}
В Пункт класса:
condition = new Condition();
condition.jsonPopulate("condition");
В состоянии Класс:
void jsonPopulate(data){
temp = data.optString("temp");
}
я получил данные в состоянии успешно класса,
Но почему я не могу сделать то же самое для прогноза, поскольку прогноз и условие - братья и сестры.
Поскольку прогноз имеет объект массива, поэтому я попытался, как показано ниже извлекать данные:
Контекст товара класс отправки объекта прогнозирования кодекса класса Item, как показано ниже.
forecast= new Condition();
forecast.jsonPopulate("forecast");
Контекст Прогноз класса, когда retrive данные прогнозного объекта Код прогнозного класса, как показано ниже.
private String day;
private String high;
private String low;
ArrayList<ForecastDetails>fdetails;
public void jsonPopulate(data){
for(i=0; i<data.length(); i++){
day = data.optString("day");
high = data.optString("high");
low = data.optString("low");
fdetails.add(day);
fdetails.add(high);
fdetails.add(low);
}
}
и попытаться сохранить в ArrayList<ForecastDetails>;
, но не удалось, у кого есть может предложить мне о том, как извлекать данные прогноза из пункта объекта Yahoo погоды.
Вы имеете в виду, что вместо optString («день») следует использовать getString («день»); – shaheb
вы можете использовать optString также без проблем .. !!! Разница заключается в том, что optString возвращает пустую строку (""), если указанный вами ключ не существует, а getString с другой стороны бросает исключение JSON, если ключ отсутствует в JSON – AnilCk
, который вы сказали JSONObject d = новый JSONObject (data) ; Мне это понравилось JSONObject data = new JSONObject (s); JSONObject queryResult = data.optJSONObject ("query"); query-> channel-> item-> forecast -> {}, {}, {}, {}, {}; i доступ до прогноза, но не его данные внутри курчавого прогноза, который я пробовал, как выше, вы упоминаете, но не получаете данные. – shaheb