您的位置:首页 > 其它

NSString 的各种转换

2016-11-07 17:03 92 查看

1、NSString 转成dictionary 格式:可以通过JSON 转换

/**
*  字符串转字典
*
*  @param jsonString 字符串
*
*  @return NSDictionary
*/
+ (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString {

if (jsonString == nil) {
return nil;
}
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];

NSError *error;

NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];

if (error) {
NSLog(@"json解析失败 %@",error);

error = nil;

// 此处遇到 NSJSONSerialization 抛出异常 - “Garbage at End”,
// 大致原因是因为 含有JSON转换无法识别的字符。这里的string是加密过的,导致解密后的数据加了一些 “操作符”,我们需要把这些操作符给去掉
// 下面代码将 所有控制符都会被替换成空字符
jsonString = [jsonString stringByTrimmingCharactersInSet:[NSCharacterSet controlCharacterSet]];
// 再将 string 装成 data 格式
jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
// 将 data 装成字典
dic = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];

}
return dic;
}


2、dictionary 转成NSString 格式:可以通过JSON 转换

/**
*  字典转字符串
*
*  @param dic 字典
*
*  @return NSString
*/
+ (NSString*)dictionaryToJson:(NSDictionary *)dic

{

NSError *parseError = nil;

NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&parseError];

NSString *string = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
string = [string stringByReplacingOccurrencesOfString:@"\n" withString:@""];    // 将 换行符去掉

return string;

}


http://blog.sina.com.cn/s/blog_a573f7990101ezpa.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nsstring