关注微信公众号 太平洋学习网 扫描二维码
最新消息:关注【太平洋学习网】微信公众号,可以获取全套资料,【全套Java基础27天】【JavaEE就业视频4个月】【Android就业视频4个月】

NSDictionary字典和JSON字符串NSString之间互相转换工具类

IOS 太平洋学习网 浏览 评论

ios开发中经常要用到NSDictionary转成Json格式,或者Json格式转换为NSDictionary字典格式的数据,为了便于这两种类型之间的互相转换,小编封装了NSDictionary字典和JSON字符串NSString互相转换的工具类。

1. NSDictionary字典转Json字符串

+ (NSString*)dictToJSONData:(id)infoDict
{    NSError *error;
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:infoDict
                                                       options:NSJSONWritingPrettyPrinted 
                                                         error:&error];    
    NSString *jsonString = @"";
    
    if (!jsonData) //如果为空
    {        
        NSLog(@"错误: %@", error);
    }
    else
    {
        jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
    }
        
    //去除掉首尾的空白字符和换行字符
    jsonString = [jsonString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];  

    [jsonString stringByReplacingOccurrencesOfString:@"\n" withString:@""];
        
    return jsonString;
}

2. JSON字符串转化为NSDictionary字典

+ (NSDictionary *)jsonToDictionary:(NSString *)jsonString
{
    if (jsonString == nil) {
        return nil;
    }
    
    NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
    NSError *err;
    NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData
                                                        options:NSJSONReadingMutableContainers
                                                          error:&err];
    if(err)
    {
        NSLog(@"json解析失败:%@",err);
        return nil;
    }
    return dic;
}


来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/object-c_ios/2018/0330/525.html

    与本文相关的文章