7
Ayrıştırmak için NSJSONSerialization kullanarak Bu konuda çok fazla tartışma oldu ve sorunumu nasıl çözeceğimi anlayamıyorum.JSON
WorldWeatherOnline'dan aldığım JSON verileri. JSON geçerlidir. Ama nasıl ayrılacağını anlayamıyorum. Bu benim kodum, ardından JSON. Lütfen yardım et! Eğer çözümlenen
NSError* errorInfo;
NSDictionary *parsedJSON = [NSJSONSerialization JSONObjectWithData:self.wwoWeatherData options:kNilOptions error:&errorInfo];
NSArray* temp = [parsedJSON objectForKey:@"temp_C"];
NSLog(@"%@", temp);
{ "data":{ "current_condition":[ { "cloudcover":"0", "humidity":"82", "observation_time":"11:07 PM", "precipMM":"0.0", "pressure":"1024", "temp_C":"16", "temp_F":"61", "visibility":"10", "weatherCode":"113", "weatherDesc":[ { "value":"Clear" } ], "weatherIconUrl":[ { "value":"http:\/\/www.worldweatheronline.com\/images\/wsymbols01_png_64\/wsymbol_0008_clear_sky_night.png" } ], "winddir16Point":"NNE", "winddirDegree":"30", "windspeedKmph":"11", "windspeedMiles":"7" } ], "request":[ { "query":"Lat 48.85 and Lon 2.35", "type":"LatLon" } ], "weather":[ { "date":"2012-09-04", "precipMM":"0.0", "tempMaxC":"25", "tempMaxF":"77", "tempMinC":"14", "tempMinF":"57", "weatherCode":"113", "weatherDesc":[ { "value":"Sunny" } ], "weatherIconUrl":[ { "value":"http:\/\/www.worldweatheronline.com\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "winddir16Point":"N", "winddirDegree":"5", "winddirection":"N", "windspeedKmph":"13", "windspeedMiles":"8" }, { "date":"2012-09-05", "precipMM":"0.0", "tempMaxC":"22", "tempMaxF":"72", "tempMinC":"10", "tempMinF":"50", "weatherCode":"113", "weatherDesc":[ { "value":"Sunny" } ], "weatherIconUrl":[ { "value":"http:\/\/www.worldweatheronline.com\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "winddir16Point":"NNE", "winddirDegree":"25", "winddirection":"NNE", "windspeedKmph":"20", "windspeedMiles":"13" }, { "date":"2012-09-06", "precipMM":"0.0", "tempMaxC":"22", "tempMaxF":"71", "tempMinC":"11", "tempMinF":"51", "weatherCode":"113", "weatherDesc":[ { "value":"Sunny" } ], "weatherIconUrl":[ { "value":"http:\/\/www.worldweatheronline.com\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "winddir16Point":"NE", "winddirDegree":"42", "winddirection":"NE", "windspeedKmph":"15", "windspeedMiles":"10" }, { "date":"2012-09-07", "precipMM":"0.0", "tempMaxC":"24", "tempMaxF":"75", "tempMinC":"13", "tempMinF":"55", "weatherCode":"116", "weatherDesc":[ { "value":"Partly Cloudy" } ], "weatherIconUrl":[ { "value":"http:\/\/www.worldweatheronline.com\/images\/wsymbols01_png_64\/wsymbol_0002_sunny_intervals.png" } ], "winddir16Point":"ENE", "winddirDegree":"56", "winddirection":"ENE", "windspeedKmph":"13", "windspeedMiles":"8" }, { "date":"2012-09-08", "precipMM":"0.0", "tempMaxC":"26", "tempMaxF":"78", "tempMinC":"16", "tempMinF":"61", "weatherCode":"113", "weatherDesc":[ { "value":"Sunny" } ], "weatherIconUrl":[ { "value":"http:\/\/www.worldweatheronline.com\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "winddir16Point":"ENE", "winddirDegree":"76", "winddirection":"ENE", "windspeedKmph":"9", "windspeedMiles":"6" } ] } }
Şunu yapın: NSLog (@ "% @", currentConditions); sonra current_condition içindeki değerleri gösterir misiniz? Evet ise, o zaman işe yaramıyor. Boş gösteriliyor. –
Üzgünüz, kopya/yapıştır hatasının vardı. ikinci satır, geçerli_koşulları veriden çekmeli, ayrıştırılmamıştır Json – highlycaffeinated
Anlamlıdır. Fakat sorgumu görürseniz, temp_c'yi almaya çalışıyorum. Akım koşullarını yazdırdığımda, current_condition içindeki tüm değerleri verir. Currentconditions dizisi için bir ObjectAtIndex yapmam gerekiyor mu? Eğer öyleyse, dizini gerçekten değiştirmem gerekiyor mu? JSON ve iOS kodlamada yeniyim, lütfen benimle birlikte ol. –