您的位置:首页 > Web前端 > JavaScript

【转】NSJSONSerialization解析JSON数据

2014-02-24 18:42 316 查看
JSON->NSData



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 }


NSData->JSON

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  }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: