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