1

我正在为 Restkit 2 寻找一个好的教程。我所看到的每一个地方,他们都在谈论对象映射。是否可以使用 Restkit 并获取 JSON 作为字符串,然后直接使用 JSON。

4

1 回答 1

0

AFNetworking 完成这项工作,

AFNetworking 可以使用 cocoapad 安装,如下所示

使用 AFNetworking 的示例请求:

NSURL *url = [[NSURL alloc] initWithString:@"https://www.ez-point.com/search"];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
[request setValue:@"xxxxxxxxxxx" forHTTPHeaderField:@"Authorization" ];
[request setHTTPMethod:@"GET"];

NSMutableDictionary *jsonDic = [[NSMutableDictionary alloc]init];
[jsonDic setValue:@"UJO526" forKey:@"search_text"  ];
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonDic options:NSJSONWritingPrettyPrinted error:nil];
[request setHTTPBody:jsonData];


[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
AFJSONRequestOperation *operation =
[AFJSONRequestOperation JSONRequestOperationWithRequest:request
        success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
            NSArray *searchResults = JSON;
            if ([searchResults count] == 1){
                id result = [searchResults objectAtIndex:0];
                double latitude = [[result valueForKey:@"latitude"] doubleValue];
                double longitude = [[result valueForKey:@"longitude"] doubleValue];
                NSString *ezPoint = [result valueForKey:@"value"];
                NSString *tags = [result valueForKey:@"tags"];

                [self setAnnotation:latitude  ForLongitude:longitude withEZPoint:ezPoint WithTags:tags];
            }
        }
        failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) {

        }
 ];
[operation start];
于 2013-11-04T10:52:55.063 回答