变更记录
序号 | 录入时间 | 录入人 | 备注 |
---|---|---|---|
1 | 2016-05-12 | Alfred Jiang | - |
方案名称
语法 - NSString \ NSData \ NSArray \ NSDictionary 格式转换 ( NSArray / NSDictionary <=> NSData <=> NSString )
关键字
语法 \ 数据存储 \ 格式转换 \ NSString \ NSData \ NSArray \ NSDictionary \ NSArray / NSDictionary <=> NSData <=> NSString
需求场景
- 进行 NSString \ NSData \ NSArray \ NSDictionary 格式转换
参考链接
详细内容
1. NSArray / NSDictionary <=> NSData ( Json )
// 将字典或者数组转化为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 )
NSData *jsonData = [jsonString dataUsingEncoding:NSASCIIStringEncoding];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSASCIIStringEncoding];
效果图
(无)
备注
(无)