NSJSONSerialization 转换为 NSDictio

2016-09-17  本文已影响229人  秋天的田野

当使用系统自带的NSJSONSerialization 将请求返回的data转换为NSDictionary或NSArray 时有可能为null,这时可能是json中包含中文字符,我们可以改变编码格式对获取到的data数据先用CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000)编码转换为NSString,再转成NSData ,最后再使用NSJSONSerialization解析,具体如下:

NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);

//

NSString *receiveStr = [[NSString alloc]initWithData:data encoding:enc];

//                                                字符串再生成NSData

NSData * data = [receiveStr dataUsingEncoding:NSUTF8StringEncoding];

//再解析

NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];

上一篇下一篇

猜你喜欢

热点阅读