NSJSONSerialization简介

2016-08-31  本文已影响20人  ShenYj

NSJSONSerialization 类是一个负责 转换 JSON 和 Foundation 对象的类

一个对象能够被转换成 JSON 必须符合以下条件:
1.Top level object is an NSArray or NSDictionary
2.All objects are NSString, NSNumber, NSArray, NSDictionary, or NSNull
3.All dictionary keys are NSStrings
4.NSNumbers are not NaN or infinity

序列化 & 反序列化

反序列化:从服务器接收到 二进制数据 转换成 字典或者数组
序列化:将 字典或者数组 转换成 二进制数据,准备发送给服务器

序列化之前的校验:

- (void)postDemo2 {
    id obj = @"hello";

    // 序列化之前,一定使用 isValidJSONObject 检测一下要序列化的对象
    // 判断是否能够正确被序列化,避免程序执行时出现闪退
    if (![NSJSONSerialization isValidJSONObject:obj]) {
        NSLog(@"数据格式不正确");
        return;
    }

    NSData *data = [NSJSONSerialization dataWithJSONObject:obj options:0 error:NULL];
    [self postJSON:data];
}
上一篇下一篇

猜你喜欢

热点阅读