解析 JSON 到字典,真假问题
Posted
技术标签:
【中文标题】解析 JSON 到字典,真假问题【英文标题】:Parse JSON to dictionary, issue with true and false 【发布时间】:2014-10-10 00:06:55 【问题描述】:我有一个 JSON 返回给我一个键:
"fork": false 或 "fork": true
当我查字典时,有一个
叉=0;或 fork = 1;
但是当我尝试调用此代码时
BOOL forkExist;
if (dictionary[@"fork"])
if ((BOOL)dictionary[@"fork"])
NSLog(@">>>>>>>>>>>>>>>>>>> EXIST %@", dictionary[@"fork"]);
forkExist = YES;
else
NSLog(@">>>>>>>>>>>>>>>>>>> NOT EXIST %@", dictionary[@"fork"]);
forkExist = NO;
它非常适合我 NSLog(@">>>>>>>>>>>>>>>>>>> EXIST %@", dictionary[@"fork"]);并且永远不会第二个 NSLog
这是一个日志
>>>>>>>>>>>>>>>>>>> EXIST 0
>>>>>>>>>>>>>>>>>>> EXIST 1
>>>>>>>>>>>>>>>>>>> EXIST 0
>>>>>>>>>>>>>>>>>>> EXIST 0
>>>>>>>>>>>>>>>>>>> EXIST 0
>>>>>>>>>>>>>>>>>>> EXIST 1
但正如您所见,即使有 0 个值,它也永远不会调用 NOT EXIST。
我检查了字典类[@"fork"],它说它是__NSCFBoolean
,但是当应用比较时,它似乎不起作用
【问题讨论】:
dictionary[@"fork"] 是指针,其值为内存地址,!=0。 (BOOL) 将把这个地址转换为真,如果这个指针永远不会为零!= nil 【参考方案1】:字典将包含一个 NSNumber @0 或 @1 用于 BOOL
,并且对象句柄始终是“真实的”,所以...
BOOL forkExist = [dictionary[@"fork"] boolValue];
应该可以正常工作。
【讨论】:
以上是关于解析 JSON 到字典,真假问题的主要内容,如果未能解决你的问题,请参考以下文章
pandas DataFrame 使用 to_json() 到字典列表
ios 解决数据请求json解析字典后,由于java某些类库转换json字符串后出现键值为<null>无法保存在userDefault的问题