Xcode 使用笔记
2017-06-09 17:54
169 查看
Xcode Object-C 使用技巧:
/// Json字符串 转换为 字典 必须是 正确的 Json字符串
-(NSDictionary *) dictionaryWithJsonString:(NSString *) jsonString
{
if(jsonString== nil )
{
NSLog(@"==>jsonString NULL");
return nil;
}
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError *err;
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData
options:NSJSONReadingMutableContainers error:&err];
if(err)
{
NSLog(@"Json 解析失败!:%@",err);
//[iOSManager ResoultWeChatPayFail:@"支付失败!"];
return nil;
}
return dic;
}
//字典转JSON
-(NSString *) jsonWithDictionary:(NSDictionary *) dict
{
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&error];
NSString *jsonString;
if (!jsonData) {
NSLog(@"%@",error);
}else{
jsonString = [[NSString alloc]initWithData:jsonData encoding:NSUTF8StringEncoding];
}
NSMutableString *mutStr = [NSMutableString stringWithString:jsonString];
NSRange range = {0,jsonString.length};
//去掉字符串中的空格
[mutStr replaceOccurrencesOfString:@" " withString:@"" options:NSLiteralSearch range:range];
NSRange range2 = {0,mutStr.length};
//去掉字符串中的换行符
[mutStr replaceOccurrencesOfString:@"\n" withString:@"" options:NSLiteralSearch range:range2];
NSString *result = [[NSString alloc] initWithData:iapData encoding:NSUTF8StringEncoding];
return mutStr;
}
NSData 转换 NSDictionary 的时候为 NUL
原因在于 键值对之间是以 “;”分开的还是 “,” ,下面这个是 处理以“;”分开的情况
NSData *iapData;
NSPropertyListFormat *format;
NSDictionary *dic = [NSPropertyListSerialization propertyListWithData:iapData options:0
format:&format
error:nil ];
/// Json字符串 转换为 字典 必须是 正确的 Json字符串
-(NSDictionary *) dictionaryWithJsonString:(NSString *) jsonString
{
if(jsonString== nil )
{
NSLog(@"==>jsonString NULL");
return nil;
}
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError *err;
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData
options:NSJSONReadingMutableContainers error:&err];
if(err)
{
NSLog(@"Json 解析失败!:%@",err);
//[iOSManager ResoultWeChatPayFail:@"支付失败!"];
return nil;
}
return dic;
}
//字典转JSON
-(NSString *) jsonWithDictionary:(NSDictionary *) dict
{
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&error];
NSString *jsonString;
if (!jsonData) {
NSLog(@"%@",error);
}else{
jsonString = [[NSString alloc]initWithData:jsonData encoding:NSUTF8StringEncoding];
}
NSMutableString *mutStr = [NSMutableString stringWithString:jsonString];
NSRange range = {0,jsonString.length};
//去掉字符串中的空格
[mutStr replaceOccurrencesOfString:@" " withString:@"" options:NSLiteralSearch range:range];
NSRange range2 = {0,mutStr.length};
//去掉字符串中的换行符
[mutStr replaceOccurrencesOfString:@"\n" withString:@"" options:NSLiteralSearch range:range2];
NSString *result = [[NSString alloc] initWithData:iapData encoding:NSUTF8StringEncoding];
return mutStr;
}
NSData 转换 NSDictionary 的时候为 NUL
原因在于 键值对之间是以 “;”分开的还是 “,” ,下面这个是 处理以“;”分开的情况
NSData *iapData;
NSPropertyListFormat *format;
NSDictionary *dic = [NSPropertyListSerialization propertyListWithData:iapData options:0
format:&format
error:nil ];
相关文章推荐
- XCode 4 使用笔记
- Xcode 使用笔记
- swift开发笔记8 - sqlite3数据的使用(xcode 7,ios9)
- Xcode9学习笔记34 - 使用UIWebView控件加载网页
- swift开发笔记8 - sqlite3数据的使用(xcode 7,ios9)
- Xcode 使用笔记
- Xcode控件使用笔记:控件总结
- Xcode控件使用笔记四:UITableView-自定义Cell
- iOS开发学习笔记:使用xcode里的单元测试,放在STAssert…里面的语句无法使用自动完成功能
- 使用XCode编写mac app学习笔记
- Xcode 使用笔记
- iOS开发笔记2-使用Alcatraz管理Xcode的插件
- Xcode控件使用笔记一:label、Button、slider 、switch、imageView、toolBar、TextField
- Xcode 使用笔记
- OC学习笔记二 使用xcode创建项目
- [学习笔记]Xcode的简单使用
- iOS 学习笔记四 【xcode 7.3 ESJsonFormat-Xcode 插件不能使用的解决办法】
- Xcode控件使用笔记四:UITableView
- 【iOS笔记】Xcode中Build Configuration配置使用
- Object-C使用笔记: XCode5使用中碰到的小问题