2013-01-15 115 views
2

我想在这里解析一个json,但由于某些原因不断收到错误。我的代码是iOS JSON解析错误

NSString *string = [NSString stringWithFormat:@"http://api.wunderground.com/api/3c158b3b3cd6ce90/hourly/q/11758.json"];//, query]; 
NSString *string2 = [string stringByReplacingOccurrencesOfString:@" " withString:@"_"]; 
NSData* data = [NSData dataWithContentsOfURL: 
       [NSURL URLWithString:string]]; 
NSError* error; 

NSDictionary *res = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&error]; 

NSArray* latestLoans = [res objectForKey:@"forecast"]; //2 
NSArray *tmp = [latestLoans valueForKey:@"temp"]; 
NSLog(@"temp: %@", tmp); 

,误差

temp: (null) 
Entity: line 2: parser error : Start tag expected, '<' not found 
{ 
^ 

我不明白这一点,因为URL是真实的,并得到响应,我需要这个

+0

什么是'string2'点?它看起来没有被使用。 – ThomasW

+0

它是,但现在我只是没有使用它 –

+1

我没有看到一个关键的“预测”的响应,但有“hourly_forecast”。也就是说,我没有看到任何会导致错误的原因 - 是来自后面的代码吗? – DrC

回答

1

帮助你是什么寻找“预测”,并不存在于回应中。也许你正在寻找的是“hourly_forecast”。

NSArray* latestLoans = [res objectForKey:@"hourly_forecast"]; //2 
NSArray *tmp = [latestLoans valueForKey:@"temp"]; 
+0

是的,这是问题 –