NSString 的各种转换

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值