我试图解析托管在我的Google云端硬盘上的json文件。我正在使用以下代码:未解析托管在Google云端硬盘上的JSON
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSURL* url = [NSURL URLWithString:@"https://docs.google.com/file/d/0B3CRs9y562F3a0VXTXNaekNiSXM/edit?usp=sharing"];
NSURLRequest* request = [NSURLRequest requestWithURL:url];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
if (!error) {
NSDictionary* jsonDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
NSLog(@"jsonDictionary \n%@", jsonDictionary);
}
}];
}
我检查了网址,并将其指定为代码或Google云端硬盘无法访问。如果代码不好,我看不到它在哪里。如果无法从Google云端硬盘解析.json文件,我可以在哪里主持有权访问此内容?它必须在我自己的领域?我期待在Google Code上托管,但绝对看起来并不像我需要的版本控制,等等。
说真的,这是:“我试图解析托管在我的Google云端硬盘上的json文件。”根本没有意义。你如何处理HTTP GET请求是从服务器获取数据。您可以在“Accept”标题中指定您希望的数据类型,例如“接受:application/json”。首先,最重要的是,您需要确保API完全支持该请求。收到响应时,请检查状态码和响应标题(如果它们与您的期望相符)(状态码200 OK和“Content-Type:application/json”)。然后你可以用任何你想要的方式处理数据。 – CouchDeveloper
@CD,你绝对正确。无法访问.json,并且无法在GD中解析.txt。创建一个简单的API花费的时间比花费这些规则不适用的时间长。 – aug2uag
当然,如果该资源只是“文本”(与某些结构化数据相对),并且实际上是包含JSON的文本文档,则可以指定“Accept:text/plain; charset = utf-8”。 “application/json”用于某个资源,例如某些数据库中存在“Model”。如果您请求“application/json”,您将有效地指示服务器创建代表此模型的JSON文档并将其传递给您。 – CouchDeveloper