【发布时间】:2011-11-03 19:31:32
【问题描述】:
我正在使用 SBJson 来解析来自 web 服务的一些 JSON 结果。问题是我不确定 SBJson 如何处理布尔类型。服务将其作为真或假值返回;这是在 SBJson 中自动处理还是我必须自己检测?
【问题讨论】:
标签: objective-c json parsing sbjson
我正在使用 SBJson 来解析来自 web 服务的一些 JSON 结果。问题是我不确定 SBJson 如何处理布尔类型。服务将其作为真或假值返回;这是在 SBJson 中自动处理还是我必须自己检测?
【问题讨论】:
标签: objective-c json parsing sbjson
来自 Java,这也让我感到困惑(缺乏真正的布尔值以及 SBJson 如何表示);当然,第二个 BOOL 示例不起作用:
BOOL bDir = ((NSNumber*)[obj objectForKey:@"isDirectory"]).intValue;
//BOOL bDir = [obj objectForKey:@"isDirectory"];
type = bDir ? MI_DIRECTORY : MI_FILE;
【讨论】:
BOOL bDir = [[obj objectForKey:@"isDirectory"] boolValue];
我建议您查看课程文档:http://json-framework.googlecode.com/svn/trunk/documentation/interfaceSBJSON.html
我相信 SBJson 返回布尔值作为 NSNumbers 设置为 0 或 1,您可以将布尔值用于 if 语句之类的东西。或者你总是可以得到 boolValue 一个真正的 BOOL 类型
【讨论】:
正如@cpjolicoeur 提到的那样。
工作示例:
NSDictionary *response = [responseString JSONValue]
BOOL example = [[response objectForKey:@"example"] boolValue]
if(example) {
......
【讨论】: