1.使用TouchJson

//获取API接口
    NSURL *url = [NSURLURLWithString:@"http://m.weather.com.cn/data/101010100.html"];
    //定义一个NSError对象,用于捕获错误信息
    NSError *error;
    NSString *jsonString = [NSStringstringWithContentsOfURL:url encoding:NSUTF8StringEncodingerror:&error];
    NSLog(@"jsonString--->%@",jsonString);
    //将解析得到的内容存放字典中,编码格式为UTF8,防止取值的时候发生乱码
    NSDictionary *rootDic = [[CJSONDeserializerdeserializer]deserialize:[jsonStringdataUsingEncoding:NSUTF8StringEncoding]error:&error];
    //因为返回的Json文件有两层,去第二层内容放到字典中去
    NSDictionary *weatherInfo = [rootDic objectForKey:@"weatherinfo"];
    NSLog(@"weatherInfo--->%@",weatherInfo);
取值打印
今天是 %@  %@  %@ 的天气状况是:%@  %@ ",[weatherInfo objectForKey:@"date_y"],[weatherInfo objectForKey:@"week"],[weatherInfo objectForKey:@"city"], [weatherInfo objectForKey:@"weather1"], [weatherInfo objectForKey:@"temp1"]];

2.使用SBJSON

NSURL *url = [NSURLURLWithString:@"http://m.weather.com.cn/data/101010100.html"];
    NSError *error = nil;
    NSString *jsonString = [NSStringstringWithContentsOfURL:url encoding:NSUTF8StringEncodingerror:&error];
    SBJsonParser *parser = [[SBJsonParseralloc] init];
     
    NSDictionary *rootDic = [parser objectWithString:jsonString error:&error];
    NSDictionary *weatherInfo = [rootDic objectForKey:@"weatherinfo"];
    NSLog(@"%@", [weatherInfoallValues]);
今天是 %@  %@  %@ 的天气状况是:%@  %@ ",[weatherInfo objectForKey:@"date_y"],[weatherInfo objectForKey:@"week"],[weatherInfo objectForKey:@"city"], [weatherInfo objectForKey:@"weather1"], [weatherInfo objectForKey:@"temp1"]];

3.使用系统自带JSON解析

+ (void)netWorkWithURL:(NSString *)urlStr completion:(void (^)(id))block
{
    NSString *str = [urlStrstringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
     
     
    NSURL *url = [NSURLURLWithString:str];
     
    NSMutableURLRequest *request = [[NSMutableURLRequestalloc]initWithURL:urlcachePolicy:NSURLRequestUseProtocolCachePolicytimeoutInterval:60];
     
    request.HTTPMethod = @"get";
     
    [NSURLConnectionsendAsynchronousRequest:request queue:[NSOperationQueuemainQueue] completionHandler:^(NSURLResponse *response,NSData *data, NSError *connectionError) {
         
        NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask, YES)lastObject];
         
        NSInteger hash = [urlStr hash];
         
        NSString *filePath = [cachesPathstringByAppendingPathComponent:[NSStringstringWithFormat:@"%d.aaa", hash]];
         
         
        NSError *error = nil;
        if (data != nil) {
            id result = [NSJSONSerializationJSONObjectWithData:data options:NSJSONReadingMutableContainerserror:&error];
            block(result);
             
            BOOL re = [NSKeyedArchiverarchiveRootObject:data toFile:filePath];
             
            NSLog(@"%d", re);
        } else {
            NSData *dataRead = [NSKeyedUnarchiverunarchiveObjectWithFile:filePath];
            id result = [NSJSONSerializationJSONObjectWithData:dataRead options:NSJSONReadingMutableContainerserror:nil];
             
            block(result);
        }
         
         
    }];
}