如何在iOS中从Json获得一定的价值?

时间:2014-11-16 06:42:18

标签: ios objective-c json nsstring nsdata

当我搜索This Link to JSON file时,它不会返回任何内容(resultCount = 0)。以下是我正在尝试做的一些代码。

NSData *data = [[NSData alloc] initWithContentsOfURL:@"https://itunes.apple.com/search?term=EMINEMLFLOCKAFLOCKA&entity=song&limit=3" options:NSDataReadingUncached error:&error];
NSDictionary *JSON = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
NSString *resultCount = [JSON valueForKey:@"resultCount"];

// Does not return anything
NSLog(@"%@", resultCount);

我不明白为什么resultCount不会返回任何内容。这段代码不存储它的值(0)吗?如何从resultCount中检索数据?我正试图从中获取0,1,2或3等值。

1 个答案:

答案 0 :(得分:1)

我很惊讶你没有得到编译器警告(和崩溃),但你有两个问题:

  1. initWithContentsOfUrl NSString NSURLresultCountNSInteger
  2. 您应该将NSString解析为NSError* error = [NSError new]; NSData *data = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:@"https://itunes.apple.com/search?term=EMINEMLFLOCKAFLOCKA&entity=song&limit=3"] options:NSDataReadingUncached error:&error]; NSDictionary *JSON = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil]; NSInteger resultCount = [[JSON valueForKey:@"resultCount"] intValue]; // Logs 0 NSLog(@"%ld", resultCount); 而不是{{1}}。
  3. 修正:

    {{1}}