我有一个简单的 json 文件:
{
"id": 1,
"url": "someUrl",
"question": "What is the name?",
"answer": [
{
"a": {
"text": "Back to the A",
"status": 0
}
}
}
我能够使用以下代码将所有这些数据解析到我的 xcode 项目中:
NSData* myData = [NSData dataWithContentsOfURL:
[NSURL URLWithString:@"http://myWebsite.net/json/myValidjson.json"]
];
NSDictionary* json = nil;
if (myData) {
json = [NSJSONSerialization
JSONObjectWithData:myData
options:kNilOptions
error:nil];
}
在此之后,以下代码的值:
json[@"movies"][0][@"answer"][0][@"a"][@"status"];
是0,到目前为止我很好。
现在,当我尝试比较时:
if (json[@"movies"][0][@"answer"][0][@"a"][@"status"] == 0) {
NSLog("Value is Equal.");
}
这个 caparison 应该是真的,因为 json[@"movies"][0][@"answer"][0][@"a"][@"status"] 的值为 0 但实际上它是一个 id,不是整数。因此,比较输出错误。
为什么我会得到这个结果?解决方案是什么,以便我可以使“如果”条件为真?