AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
[operation start];
NSLog(@"request======%@",request);
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject)
{
// NSJSONReadingMutableContainers = (1UL << 0),
// NSJSONReadingMutableLeaves = (1UL << 1),
// NSJSONReadingAllowFragments = (1UL << 2)
NSData *data=(NSData *)responseObject;
NSError *error=nil;
NSDictionary *dicData1=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers
error:&error ];
NSDictionary *dicData2=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves
error:&error ];
NSDictionary *dicData3=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments
error:&error ];
NSLog(@"解析成功 ===1=%@===2==%@====3==%@",dicData1,dicData2,dicData3);
} failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
NSLog(@"解析失败 ====%@",error);
}];
代码输出没有多大区别,我的英文不太好,看苹果官方文档上说,
似乎是 第一个给数组或字典,第二选项为 可变字符,第三项为 不属于数组、字典。接收。
NSJSONReadingMutableContainers
Specifies that arrays and dictionaries are created as mutable objects. // 创建可变的数组或字典 接收
NSJSONReadingMutableLeaves
Specifies that leaf strings in the JSON object graph are created as instances of NSMutableString. //
指定在JSON对象可变字符串被创建为NSMutableString的实例
NSJSONReadingAllowFragments
Specifies that the parser should allow top-level objects that are not an instance of NSArray or NSDictionary
// 指定解析器应该允许不属于的NSArray或NSDictionary中的实例顶层对象
可是我测试的 每一项都用字典接收,系统也没有给我报错。难道这是给返回的data类型有关,如果返回的是字典或数组,就用第一项
如有误,请指正。
相关文章
- 05-05关于麦克风的参数介绍 - 驻极体麦克风(ECM)和硅麦(MEMS)
- 05-05关于JVM参数-XX:SurvivorRatio的理解
- 05-05Log4j的ConversionPattern参数的格式含义
- 05-05关于AutoCAD 2019 for mac参数化图形和约束的使用说明
- 05-05MATLAB&simulink技巧1: simulink模块的Position属性各参数的含义
- 05-05Flex 关于 keyDown事件的添加和移除(另附添加事件的执行带参数的函数)
- 05-05关于支付接口回调地址参数字段是“notify_url”,签名过后的特殊字符url编码以后再解码后出现错误(¬ , ¢, ¤, £)
- 05-05关于PARALLEL_MAX_SERVERS参数的设置
- 05-05关于Array的map方法中回调函数参数的问题
- 05-05[C]关于函数指针参数的赋值