1.NSDatahtml
用來存儲二進制的數據類型。NSData類提供了一種簡單的方式,它用來設置緩衝區、將文件的內容讀入緩衝區,或將緩衝區的內容寫到一個文件。不變緩衝區(NSData類),也可定義可變的緩衝區(NSMutableData類)。json
2.json數組
做爲一種輕量級的數據交換格式,正在逐步取代XML,成爲網絡數據的通用格式。網絡
小結:咱們只須要明白NSData類型是用來存儲二進制數據的,json是一種數據格式,注意是格式。工具
iOS5.0之後,蘋果SDK推出了自帶的json解決方案NSJSONSerialization,這是一個很是好用的json生成和解析工具,效率也是比其餘第三方開源項目的高不少。NSJSONSerialization提供了json數據封包、Json數據解包。NSJSONSerialization提供了將json數據轉換爲NSDictionary或NSArray的解包方法,也提供了將NSDictionary、NSArray對象轉換爲json數據(能夠經過調用isValidJSONObject來判斷NSDictionary、NSArray對象是否能夠轉換爲json數據)的封包方法。post
1 - (void)viewDidLoad { 2 [super viewDidLoad]; 3 4 NSLog(@"*******開始封包********"); 5 [self fengbao]; 6 NSLog(@"*******開始解包********"); 7 [self jiebao]; 8 } 9 10 - (void)jiebao 11 { 12 NSString *filePath = @"/Users/Hers/Desktop/UIimageView簡單測試/UIimageView簡單測試/jsonDate.json"; 13 NSData *jsonData = [NSData dataWithContentsOfFile:filePath]; 14 NSError *error; 15 NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:jsonData options: NSJSONReadingMutableContainers error:&error]; 16 NSLog(@"%@",jsonDict); 17 } 18 19 - (void)fengbao 20 { 21 NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"value1",@"key1",@"value2",@"key2",@"value3",@"key3", nil]; 22 // isValidJSONObject判斷對象是否能夠構建成json對象 23 if ([NSJSONSerialization isValidJSONObject:dic]){ 24 NSError *error; 25 // 創造一個json從Data, NSJSONWritingPrettyPrinted指定的JSON數據產的空白,使輸出更具可讀性。 26 NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&error]; 27 NSLog(@"jsonData:%@",jsonData); 28 29 NSString *jsonStr =[[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; 30 NSLog(@"jsonStr:%@",jsonStr); 31 32 BOOL result = [jsonData writeToFile:@"/Users/Hers/Desktop/UIimageView簡單測試/UIimageView簡單測試/jsonDate.json" atomically:YES]; 33 NSLog(@"result:%d",result); 34 } 35 }
輸出日誌:測試
封包操做後產生的文件:atom
【極力推薦】2018年中秋節兩天的良心寫做,全面講解UITextField,總有你不知道的知識:UITextField的使用、介紹、講解、全解、簡介、說明spa