我需要一个建议:我从这个http://www.worldweatheronline.com/free-weather.aspx下载了一个JSON。我发布了解析这个JSON的问题:
{
"data":{
"current_condition":[
{
"cloudcover":"0",
"humidity":"57",
"observation_time":"07:23 PM",
"precipMM":"0.0",
"pressure":"1013",
"temp_C":"23",
"temp_F":"73",
"visibility":"10",
"weatherCode":"113",
"weatherDesc":[
{
"value":"Clear"
}
],
"weatherIconUrl":[
{
"value":"http:\/\/www.worldweatheronline.com\/images\/wsymbols01_png_64\/wsymbol_0008_clear_sky_night.png"
}
],
"winddir16Point":"W",
"winddirDegree":"275",
"windspeedKmph":"0",
"windspeedMiles":"0"
}
],
"request":[
{
"query":"Roma, Italy",
"type":"City"
}
],
"weather":[
{
"date":"2013-05-04",
"precipMM":"0.0",
"tempMaxC":"26",
"tempMaxF":"78",
"tempMinC":"13",
"tempMinF":"55",
"weatherCode":"113",
"weatherDesc":[
{
"value":"Sunny"
}
],
"weatherIconUrl":[
{
"value":"http:\/\/www.worldweatheronline.com\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png"
}
],
"winddir16Point":"WSW",
"winddirDegree":"251",
"winddirection":"WSW",
"windspeedKmph":"9",
"windspeedMiles":"6"
}
]
}
}
从这个JSON我需要3个信息:tempMaxC,tempMinC和weatherIconUrl - >值。到现在为止我做了这个方法:
- (void)wheaterDidFinish:(NSDictionary*)object {
if (object) {
NSDictionary *obj = [object objectForKey:@"data"];
NSArray *firstZero = [obj objectForKey:@"weather"];
NSLog(@"%@ e %d", firstZero, firstZero.count);
}
}
我如何获得我需要的信息?你能帮助我吗? 谢谢
答案 0 :(得分:2)
-(void)wheaterDidFinish:(NSDictionary*)object
{
NSString *tempMaxC=@"" , tempMinC =@"" , weatherIconUrl =@"";
if (object)
{
NSDictionary *obj = [object objectForKey:@"data"];
NSArray *firstZero = [obj objectForKey:@"weather"];
NSMutableDictionary *weatherDict = [firstZero objectAtIndex:0];
tempMaxc = [NSString stringWithFormat:@"%@",[weatherDict objectForKey:@"tempMaxC"]];
tempMinC = [NSString stringWithFormat:@"%@",[weatherDict objectForKey:@"tempMinC"]];
NSArray *weatherIconArray=[weatherDict objectForKey:@"weatherIconUrl"];
weatherIconUrl = [NSString stringWithFormat:@"%@",[[weatherIconArray objectAtIndex:0] objectForKey:@"value"]];
}
}
这将解决您的问题