要反序列化 JSON 字符串,我使用以下方法:
+ (id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error
但是,我发现读取选项返回可变对象。有没有一种方法可以让我接收不可变的对象?
要反序列化 JSON 字符串,我使用以下方法:
+ (id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error
但是,我发现读取选项返回可变对象。有没有一种方法可以让我接收不可变的对象?
如果您的NSJSONReadingOptions参数包含NSJSONReadingMutableContainers. 确实,当我调用optionsof 时0,我得到一个 standard NSDictionary,但如果我使用NSJSONReadingMutableContainers,我得到一个NSMutableDictionary. 你用什么来实现你的options价值?
为了更好的可读性,您可以使用kNilOptions而不是0.
来自http://www.raywenderlich.com/5492/working-with-json-in-ios-5
...
kNilOptions只是 0 的常量——我发现它的名字非常具有描述性,所以我总是更喜欢它而不是 0 的值作为方法参数。