- NSJSONSerialization 类介绍:
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];
}