以下是用于保存
1 - (IBAction)touchWriteButton:(id)sender { 2 NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init]; 3 [dictionary setValue:@"Anthony" forKey:@"First Name"]; 4 [dictionary setValue:@"Robbins" forKey:@"Last Name"]; 5 [dictionary setValue:[NSNumber numberWithUnsignedInteger:51] forKey:@"Age"]; 6 NSArray *arrayOfAnthonysChildren = [[NSArray alloc] initWithObjects:@"Anthony's Son 1",@"Anthony's Daughter 1",@"Anthony's Son 2",@"Anthony's Son 3",@"Anthony's Daughter 2",nil]; 7 [dictionary setValue:arrayOfAnthonysChildren forKey:@"children"]; 8 NSError *error = nil; 9 NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dictionary options:NSJSONWritingPrettyPrinted error:&error]; 10 if (error) { 11 NSLog(@"dic->%@",error); 12 } 13 [dictionary release]; 14 BOOL succeed = [jsonData writeToFile:JSON_PATH atomically:YES]; 15 if (succeed) { 16 NSLog(@"Save succeed"); 17 }else { 18 NSLog(@"Save fail"); 19 } 20 }
下面是读取方式:
1 - (IBAction)touchReadButton:(id)sender { 2 NSData *jsonData = [[NSData alloc] initWithContentsOfFile:JSON_PATH]; /* Now try to deserialize the JSON object into a dictionary */ 3 NSError *error = nil; 4 id jsonObject = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:&error]; 5 if (jsonObject != nil && error == nil){ 6 NSLog(@"Successfully deserialized..."); 7 if ([jsonObject isKindOfClass:[NSDictionary class]]){ 8 NSDictionary *deserializedDictionary = (NSDictionary *)jsonObject; 9 NSLog(@"Dersialized JSON Dictionary = %@",deserializedDictionary); 10 } else if ([jsonObject isKindOfClass:[NSArray class]]){ 11 NSArray *deserializedArray = (NSArray *)jsonObject; 12 NSLog(@"Dersialized JSON Array = %@",deserializedArray); 13 } else { 14 NSLog(@"An error happened while deserializing the JSON data."); 15 } 16 } 17 [jsonData release]; 18 }