美文网首页
NSJSONSerialization

NSJSONSerialization

作者: fnx | 来源:发表于2014-10-20 14:11 被阅读4216次

    在iOS 5 中,苹果引入了一个解析JSON串的NSJSONSerialization类。通过该类,我们可以完成JSON数据与NSDictionary和NSArray之间的转化。

    一、将NSDictionary或NSArray转化为JSON串


    // 将字典或者数组转化为JSON串

    - (NSData *)toJSONData:(id)theData{

    NSError *error = nil;

    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:theData

    options:NSJSONWritingPrettyPrinted

    error:&error];

    if ([jsonData length] > 0 && error == nil){

    return jsonData;

    }else{

    return nil;

    }

    }

    使用这个方法的返回,我们就可以得到想要的JSON串

    NSString *jsonString = [[NSString alloc] initWithData:jsonData

    encoding:NSUTF8StringEncoding];

    二、将JSON串转化为NSDictionary或NSArray


    将NSString转化为NSData

    NSData *jsonData= [jsonString dataUsingEncoding:NSASCIIStringEncoding];

    // 将JSON串转化为字典或者数组

    - (id)toArrayOrNSDictionary:(NSData *)jsonData{

    NSError *error = nil;

    id jsonObject = [NSJSONSerialization JSONObjectWithData:jsonData

    options:NSJSONReadingAllowFragments

    error:&error];

    if (jsonObject != nil && error == nil) {

    return jsonObject;

    } else {

    // 解析错误

    return nil;

    }

    }

    相关文章

      网友评论

          本文标题:NSJSONSerialization

          本文链接:https://www.haomeiwen.com/subject/biaptttx.html