【问题标题】:Is it right about JSONJSON 是否正确
【发布时间】:2015-07-13 17:27:35
【问题描述】:
我对@987654321@ 和NSJSONReadingMutableContainers 有疑问。
我感谢它们具有相同的功能。
因为KNilOptions 等于零,NSJSONReadingMutableContainers 也是。
对吗?
NSDictionary * dict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
//NSJSONReadingMutableContainers is equal to kNilOptions
【问题讨论】:
标签:
ios
objective-c
json
nsjsonserialization
【解决方案1】:
这是NSJSONReadingMutableContainers的定义:
NSJSONReadingMutableContainers = (1UL << 0),
所以NSJSONReadingMutableContainers 被定义为1,不是 0。它与kNilOptions 的值不同。
【解决方案2】:
首先是关于KNilOptions和NSJSONReadingMutableContainers的小介绍。
KNilOptions 代表 0,NSJSONReadingMutableContainers 代表枚举中的(1UL << 0)。
所以在C++, 中,UL 仅表示文字是unsigned long 整数类型。默认整数文字是int。
这两个(KNilOptions 和 NSJSONReadingMutableContainers)都将有助于读取 JSON 数据和创建 Foundation 对象的选项。
您可以使用 NSJSONReadingMutableContainers 选项从 JSON 字符串创建字典,该选项将所有数组和字典创建为可变对象,以便您可以在对象(字典)中添加新键并在数组中添加新字典而无需更改在参考中,您将获得完整的可变结构。