【发布时间】:2012-03-05 10:20:50
【问题描述】:
编辑代码
我是这样做的:
// Create new SBJSON parser object
SBJsonParser *parser = [[SBJsonParser alloc] init];
// Prepare URL request to download statuses from Twitter
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com/maps?q=restaurant&sll=23.00,72.00&radius=2000&output=json"]];
// Perform request and get JSON back as a NSData object
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
// Get JSON as a NSString from NSData response
NSString *json_string = [[NSString alloc] initWithData:response encoding:NSASCIIStringEncoding];
[json_string stringByReplacingOccurrencesOfString:@"while(1);" withString:@""];
NSDictionary *json_dict = [json_string JSONValue];
NSLog(@"%@",json_dict);
但是我也在json_dict中得到null
我想解析从 Google Webservice 获得的数据。
http://www.google.com/maps?q=restaurant&sll=23.00,72.00&radius=2000&output=json
我使用了以下代码:
// Create new SBJSON parser object
SBJsonParser *parser = [[SBJsonParser alloc] init];
// Prepare URL request for Getting the Restaurent at particular coordinate.
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com/maps?q=restaurant&sll=23.00,72.00&radius=2000&output=json"]];
// Perform request and get JSON back as a NSData object
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
// Get JSON as a NSString from NSData response
NSString *json_string = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
// parse the JSON response into an object
// Here we're using NSArray since we're parsing an array of JSON status objects
NSArray *statuses = [parser objectWithString:json_string error:nil];
但我没有得到回应。如果我使用其他一些 API,例如:http://twitter.com/statuses/public_timeline.json,它将正确解析,但这不适用于 Google API
我检查了 JSON 版本的响应字符串。我们得到的响应是形成一棵合适的树。它没有显示任何错误,但我得到的响应数组为空。
【问题讨论】: