2013-05-04 67 views
-1

我需要一个建议:我从这个http://www.worldweatheronline.com/free-weather.aspx下载了JSON。我有问题解析这个JSON:用ObjectiveC解析世界天气在线JSON iOS 6

{ 
    "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); 

    } 
} 

我如何获得我需要的信息?你可以帮我吗? 谢谢

回答

2
-(void)wheaterDidFinish:(NSDictionary*)object 
{ 
    NSString *[email protected]"" , tempMinC [email protected]"" , weatherIconUrl [email protected]""; 

    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"]]; 

    } 
} 

这将解决你的问题

+0

谢谢!我试过了,效果很好! – lucgian841 2013-05-04 20:36:59

+0

最受欢迎:) – 2013-05-04 20:38:16