NSJSONWritingOptions的设置

2015-03-10 分类 [iOS 开发]

+ (NSData *)dataWithJSONObject:(id)obj
                   	   options:(NSJSONWritingOptions)opt
                     	 error:(NSError **)error

此方法在Objective-C中用来从对象生成JSON,其中类型NSJSONWritingOptions苹果描述为”Options for writing JSON data.”,定义是:

enum {
	NSJSONWritingPrettyPrinted = (1UL << 0)
}; typedef NSUInteger NSJSONWritingOptions;

很明显其中只有一个选项,使用后会在生成的JSON中包含空格、换行符等格式控制字符,但是在网络传输中很明显这是不需要的,因此Apple又说”If this option is not set, the most compact possible JSON representation is generated.” 嗯。。。不设置,但是不设置的话就会少个参数,肯定是要报错的,使用nil的话也是会报错的。。。于是我找到了StackOverflow上的相关问题:http://stackoverflow.com/questions/19149869/nsjsonserialization-what-is-the-proper-value-to-specify-no-nsjsonwritingoption

好吧,使用0即可,人家还给出来了苹果文档的链接,原来人家苹果说了应该怎样“不设置”,而且是在对NSJSONWritingOptions解释之前说的,原文是”See NSJSONWritingOptions for possible values. Pass 0 to specify no options.”