예측 데이터에 도달하려고했지만 실패했습니다. NullPointerException
그리고 때로는 충돌이 일어납니다. 내가 항목 -> forecast -> {data}
에서 데이터에 도달하거나 검색하지 못하기 때문입니다. 조건 클래스에서JSON 객체 채널에서 Yahoo Weather API를 검색하거나 가져올 수있는 방법 -> item -> forecast -> {day1} {day2} {day3} {day4} {day5}
condition = new Condition();
condition.jsonPopulate("condition");
:
Item 클래스에서내가 성공적으로 조건 클래스에서 데이터를 가지고
void jsonPopulate(data){
temp = data.optString("temp");
}
,
하지만 예측 이후 예측을 위해 동일한 작업을 수행하지 못할 이유 및 조건은 형제입니다. 다음과 같은 항목 클래스의 예상 코드의
상황에 맞는 항목 클래스 전송 객체 : 내가 좋아하는 시도 있도록 예측 이후
아래 데이터를 검색 배열 개체가 있습니다.
forecast= new Condition();
forecast.jsonPopulate("forecast");
상황에 맞는 예측 클래스 때 예측 객체 아래 같은 예측 클래스의 코드에서 가져 오지 데이터입니다.
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>;
에 유지하려고했지만 실패, 누구 야후 날씨의 항목 객체로부터 예측 데이터를 검색하는 방법에 대해 저를 제안 할 수있다.
optString ("day") 대신 getString ("day")을 사용해야합니다. – shaheb
optString도 사용할 수 있습니다. 차이점은 optString은 지정된 키가 존재하지 않으면 빈 문자열 ("")을 반환하고 getString은 키가 JSON 객체에 없다면 JSONException을 던집니다. – AnilCk
JSONObject d = new JSONObject (data) ; 내가 좋아했습니다. JSONObject data = new JSONObject (s); JSONObject queryResult = data.optJSONObject ("query"); query-> channel-> item-> forecast-> {}, {}, {}, {}, {}; 내가 예측에 액세스했지만 위의 데이터를 얻지 못하고 위와 같이 시도했지만 예상치 못한 데이터가 없습니다. – shaheb