[英]Parsing NSArray that has single value generated from a JSON message
我在这里梳理了问题,希望找到我所遇到的类似情况,但找不到。 我的问题涉及iOS 5中的NSJSONSerialization类,以及如何处理解析从JSONObjectWithData:options:error:方法返回的单个值。 返回的JSON数据是数组中的单个值,如下所示:
[1]
数据将是1(如上所述)或0,这取决于我正在使用的Web服务中执行的逻辑。 作为附带说明,Web服务是WCF REST服务。 在XCode中,将反序列化的JSON分配给临时NSArray对象后,调试器将显示以下内容:
po parsedData
(NSArray *) $43 = 0x06e2ee70 <__NSCFArray 0x6e2ee70>( 1 )
当我尝试使用ObjectAtIndex:从数组中获取值时,我得到了:
po [parsedData objectAtIndex:0]
(id) $44 = 0x06b1dad0 1
我的问题是: 1
之前的十六进制值( 0x06b1dad0
)是多少? 也许是我无法访问的键或索引(我以为我只是没有深入了解数组以获得真正的价值)? 它与JSON的格式有关吗? 当我一直在思考时,我感觉格式已关闭。
我遇到的问题是我无法获取存储在JSON消息中的实际值-当我访问parsedData
数组中的parsedData
并将其分配给变量时,它仅返回十六进制值而不是1
。
强制转换为NSInteger可以实现以下目的:
po (NSInteger)[parsedData objectAtIndex:0]
(NSInteger) $45 = 112319184 1
任何对此的见解将不胜感激。 如果在论坛的其他地方已解决此问题,我深表歉意。
谢谢。
可能该对象是NSNumber,请尝试以下操作:
[[parsedData objectAtIndex:0] intValue];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.