NSJSONSerialization解析JSON数据

前端之家收集整理的这篇文章主要介绍了NSJSONSerialization解析JSON数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

以下是用于保存

  1. 1 - (IBAction)touchWriteButton:(id)sender {
  2. 2 NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
  3. 3 [dictionary setValue:@"Anthony" forKey:@"First Name"];
  4. 4 [dictionary setValue:@"Robbins" forKey:@"Last Name"];
  5. 5 [dictionary setValue:[NSNumber numberWithUnsignedInteger:51] forKey:@"Age"];
  6. 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. 7 [dictionary setValue:arrayOfAnthonysChildren forKey:@"children"];
  8. 8 NSError *error = nil;
  9. 9 NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dictionary options:NSJSONWritingPrettyPrinted error:&error];
  10. 10 if (error) {
  11. 11 NSLog(@"dic->%@",error);
  12. 12 }
  13. 13 [dictionary release];
  14. 14 BOOL succeed = [jsonData writeToFile:JSON_PATH atomically:YES];
  15. 15 if (succeed) {
  16. 16 NSLog(@"Save succeed");
  17. 17 }else {
  18. 18 NSLog(@"Save fail");
  19. 19 }
  20. 20 }

下面是读取方式:

  1. 1 - (IBAction)touchReadButton:(id)sender {
  2. 2 NSData *jsonData = [[NSData alloc] initWithContentsOfFile:JSON_PATH]; /* Now try to deserialize the JSON object into a dictionary */
  3. 3 NSError *error = nil;
  4. 4 id jsonObject = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:&error];
  5. 5 if (jsonObject != nil && error == nil){
  6. 6 NSLog(@"Successfully deserialized...");
  7. 7 if ([jsonObject isKindOfClass:[NSDictionary class]]){
  8. 8 NSDictionary *deserializedDictionary = (NSDictionary *)jsonObject;
  9. 9 NSLog(@"Dersialized JSON Dictionary = %@",deserializedDictionary);
  10. 10 } else if ([jsonObject isKindOfClass:[NSArray class]]){
  11. 11 NSArray *deserializedArray = (NSArray *)jsonObject;
  12. 12 NSLog(@"Dersialized JSON Array = %@",deserializedArray);
  13. 13 } else {
  14. 14 NSLog(@"An error happened while deserializing the JSON data.");
  15. 15 }
  16. 16 }
  17. 17 [jsonData release];
  18. 18 }

猜你在找的Json相关文章