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