我尝试从这个API获取JSON数据,但是遇到了错误:Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (Invalid value around character 0.) UserInfo=0x8b5aa20 {NSDebugDescription=Invalid value around character 0.}
这是代码:
NSString *post = [NSString stringWithFormat:@"http://api.reittiopas.fi/hsl/1_1_2/?request=reverse_geocode&user=********&pass=********&format=txt&coordinate=2548196,6678528"];
NSError *error = nil;
NSString* newStr = [NSString stringWithContentsOfURL:[NSURL URLWithString:post] encoding:NSUTF8StringEncoding error: &error];
NSData *jsonDataString = [newStr dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%@", jsonDataString.description);
NSMutableDictionary *allResults = [NSJSONSerialization
JSONObjectWithData:jsonDataString
options:NSJSONReadingAllowFragments
error:&error];
if(!error){
NSLog(@"%@", allResults.description);
}
else{
NSLog(@"%@", error.description);
}
有人能告诉我为什么会出现这个错误吗?该代码在其他网站的JSON数据上能够正常运行。
[NSData dataWithContentsOfUrl:...]
。 - k06aformat=txt
改为format=json
即可。我已经测试过,这样可以正常工作。 - Julian F. Weinert