变更记录
方案名称
语法 - NSString \ NSData \ NSArray \ NSDictionary 格式转换 ( NSArray / NSDictionary <=> NSData <=> NSString )
关键字
语法 \ 数据存储 \ 格式转换 \ NSString \ NSData \ NSArray \ NSDictionary \ NSArray / NSDictionary <=> NSData <=> NSString
需求场景
- 进行 NSString \ NSData \ NSArray \ NSDictionary 格式转换
参考链接
- Sina - NSJSONSerialization-JSON数据与NSDictionary和NSArray之间的转化
详细内容
1. NSArray / NSDictionary <=> NSData ( Json )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| // 将字典或者数组转化为JSON串 - (NSData *)toJSONData:(id)data{ if (!data) { NSLog(@"Please Check %s parameter",__FUNCTION__); return nil; } NSError *error = nil; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:data options:NSJSONWritingPrettyPrinted error:&error]; if ([jsonData length] != 0 && error == nil){ return jsonData; } else{ return nil; } }
// 将JSON串转化为字典或者数组 - (id)toArrayOrDictionary:(NSData *)jsonData{ if (!jsonData || [jsonData length] == 0) { NSLog(@"Please Check %s parameter",__FUNCTION__); return nil; } NSError *error = nil; id jsonObject = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:&error]; if (jsonObject != nil && error == nil){ return jsonObject; } else{ return nil; } }
|
3. NSData <=> NSString ( Json )
1 2 3
| NSData *jsonData = [jsonString dataUsingEncoding:NSASCIIStringEncoding];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSASCIIStringEncoding];
|
效果图
(无)
备注
(无)