Trop de discussions ont eu lieu à ce sujet et pourtant je n'arrive pas à comprendre comment résoudre mon problème.Utiliser NSJSONSerialization pour analyser JSON
Voici les données JSON que j'obtiens de WorldWeatherOnline. Le JSON est valide. Mais je ne peux pas comprendre comment l'analyser. Ceci est mon code, suivi par le JSON. S'il vous plaît aider!
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" } ] } }
Si cela: NSLog (@ "% @", currentConditions); puis montre les valeurs dans current_condition? Si oui, alors ça ne marche pas. C'est montrer null. –
Désolé, il y avait une erreur copier/coller. la deuxième ligne devrait tirer current_condition à partir des données, pas parsedJson – highlycaffeinated
Cela a du sens. Mais si vous voyez ma requête, j'essaie d'obtenir temp_c. Quand j'imprime currentconditions, il me donne toutes les valeurs dans current_condition. Ai-je besoin de faire un ObjectAtIndex pour le tableau currentconditions? Si oui, ai-je vraiment besoin de coder en dur l'index? Je suis nouveau à coder JSON et iOS à la fois, alors s'il vous plaît ours avec moi. –