このチュートリアルに従ってください: http://www.raywenderlich.com/5492/working-with-json-in-ios-5、私はそのような単純なアプリを作成します:
#define kLatestKivaLoansURL [NSURL URLWithString: @"http://api.kivaws.org/v1/loans/search.json?status=fundraising"]
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSData* data = [NSData dataWithContentsOfURL: kLatestKivaLoansURL];
NSError* error;
NSDictionary* json = [NSJSONSerialization JSONObjectWithData:data
options:kNilOptions
error:&error];
NSArray* latestLoans = [json objectForKey:@"loans"];
NSLog(@"Error: %@",error);
NSLog(@"loans: %@",latestLoans);
dispatch_async(dispatch_get_main_queue(), ^(){
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
});
});
return YES;
}
@end
Network not OK または JSON link Error の場合、同じ中断が発生します: " *キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。理由: 'data parameter is nil"
このエラーをキャッチする方法は? 中断ではなく、警告メッセージを表示したいだけです。
JSONデータを解析するときのエラーの種類は何ですか?