iOS NSDictionary、NSData、JSON数据类型相互转换

iOS经常需要用到数据类型的转换,下面列举一下常用类型的转换。

1.NSDictionary类型转换为NSData类型:

  1. //NSDictionary -> NSData:
  2. NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
  3. @"balance", @"key",
  4. @"remaining balance", @"label",
  5. @"45", @"value",
  6. @"USD", @"currencyCode",nil];
  7. NSMutableData *data = [[NSMutableData alloc] init];
  8. NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
  9. [archiver encodeObject:params forKey:@"Some Key Value"];
  10. [archiver finishEncoding];

2.NSData类型转换为NSDictionary类型:

  1. //NSData -> NSDictionary
  2. NSData *data = [[NSMutableData alloc] initWithContentsOfFile:[self dataFilePath]];
  3. NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
  4. NSDictionary *myDictionary = [[unarchiver decodeObjectForKey:@"Some Key Value"] retain];
  5. [unarchiver finishDecoding];
  6. [unarchiver release];
  7. [data release];

3.NSDictionary类型转换为JSON数据类型:

  1. //NSDictionary -> JSON:
  2. NSString *jsonStr=[dict JSONRepresentation];

注意JSON与NSDictionary类型的转换一般会用到第三方公开的JSON库,读者可以在网上找到很多。

上一篇:提高VS项目的压缩文件大小


下一篇:Eclipse设立不格式化注释