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


分类: iphone开发 1435人阅读 评论(0) 收藏 举报
iOS NSDictionary、NSData、JSON数据类型相互转换

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

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

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

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

[cpp] view plain copy
  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数据类型:

[cpp] view plain copy
  1. //NSDictionary -> JSON:  
  2. NSString *jsonStr=[dict JSONRepresentation];  
注意JSON与NSDictionary类型的转换一般会用到第三方公开的JSON库,读者可以在网上找到很多。

你可能感兴趣的:(iPhone开发)