0

我要做的是检查我在字典中的深度。我的 JSON 有两种可能性:

stop-schedule:
   0:
      route:
   1:
      route:

或者

stop-schedule:
   route:

所以我正在检查是否需要更深入。

通常我会简单地做类似的事情

[dict objectForKey:@"0"]

检查密钥是否存在(如果不存在则返回 nill)但是由于某种原因我在 iOS 上测试它时遇到错误。

[__NSCFArray objectForKey:]: unrecognized selector sent to instance
4

1 回答 1

5

现在仔细阅读错误信息。


dict不是真正的字典,而是一个数组。它没有钥匙。如果要确保它属于某个类,请使用反射:

if ([json isKindOfClass:[NSDictionary class]]) {
    // object
} else if ([json isKindOfClass:[NSArray class]]) {
    // array
} else {
    // fragment or `nil`
}
于 2013-05-01T05:29:55.117 回答