- NSJSONSerialization 類介紹:
NSJSONSerialization 類是一個(gè)負(fù)責(zé) 轉(zhuǎn)換 JSON 和 Foundation 對(duì)象的類
一個(gè)對(duì)象能夠被轉(zhuǎn)換成 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
序列化 & 反序列化
反序列化:從服務(wù)器接收到 二進(jìn)制數(shù)據(jù) 轉(zhuǎn)換成 字典或者數(shù)組
序列化:將 字典或者數(shù)組 轉(zhuǎn)換成 二進(jìn)制數(shù)據(jù),準(zhǔn)備發(fā)送給服務(wù)器
序列化之前的校驗(yàn):
- (void)postDemo2 {
id obj = @"hello";
// 序列化之前,一定使用 isValidJSONObject 檢測(cè)一下要序列化的對(duì)象
// 判斷是否能夠正確被序列化,避免程序執(zhí)行時(shí)出現(xiàn)閃退
if (![NSJSONSerialization isValidJSONObject:obj]) {
NSLog(@"數(shù)據(jù)格式不正確");
return;
}
NSData *data = [NSJSONSerialization dataWithJSONObject:obj options:0 error:NULL];
[self postJSON:data];
}