NSDictionary转化为NSData

之前自己写了NSDictionary转化为NSData的一种方法如下

NSMutableData *data = [[NSMutableData alloc] init];

NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];

[archiver encodeObject:messageDic forKey:@"KeyValue"];

[archiver finishEncoding];

需要设置一个key进行存档,要得到原字典时需用同样的key解档

NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];

NSDictionary *myDictionary = [unarchiver decodeObjectForKey:@"KeyValue"];

[unarchiver finishDecoding];

然而这样设置key存取值时,如果并发进行,会导致数据混乱,如果设置了不同的key,解档时也很麻烦用哪个key。

然后在github找了一个第三方库JSONKit,只有一个类,可以完成所有类型的数据之间的转换,非常实用,现在的项目我也用上了这个库,导入头文件#import "JSONKit.h"即可,需注意他用的是非ARC。

NSDictionary转化为NSData的代码如下:

NSData *data = [dic JSONData];

NSData转化为NSDictionary的代码如下:

NSDictionary *myDictionary = [data objectFromJSONData];

其他的类型数据转化为NSData类似,请查看API,就是这么简单。

时间: 2024-10-10 21:04:37

NSDictionary转化为NSData的相关文章

iOS NSDictionary转化为Json

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #929292 } span.s1 { } NSDictionary (JSON).h文件 #import <Foundation/Foundation.h> @interface NSDictionary (JSON) /** * 转换成JSON串字符串(没有可读性) * * @return JSON字符串 */ - (NSString *)toJSONStr

NSString2015-09-30转化为NSData

NSString *[email protected]"2015-09-30"; NSDateFormatter *dateFormatter=[[NSDateFormatter alloc]init]; [dateFormatter setDateFormat:@"yyyy-MM-dd"]; myData = [dateFormatter dateFromString:dateString];

NSDictionary 或者NSArray(NSMutableArray) ==&gt;&gt; NSData ==&gt;&gt; NSString (Json):

以下代码都有详细的注释说明这些类型之间的转换(如有错误的地方还望批评指出,谢谢!) - (void)viewDidLoad { [super viewDidLoad]; /** * NSDictionary ||NSArray(NSMutableArray) ==>> NSData ==>> NSString (Json): */ // NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys: // @&q

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

1.NSDictionary类型转换为NSData类型: NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys: @"balance", @"key", @"remaining balance", @"label", @"45", @"value", @"USD", @"curre

NSDictionary或NSArray与JSON字符串相互转换

一.将NSDictionary或NSArray转化为JSON串// 将字典或者数组转化为JSON串   NSData *jsonData = [NSJSONSerialization dataWithJSONObject:array options:NSJSONWritingPrettyPrinted  error:nil]; //得到想要的JSON串NSString *jsonString = [[NSString alloc] initWithData:jsonData  encoding:

NSJSONSerialization-JSON数据与NSDictionary和NSArray之间的转化

    在iOS  5 中,苹果引入了一个解析JSON串的NSJSONSerialization类. 通过该类,我们可以完成JSON数据与NSDictionary和NSArray之间的转化. 以前,我记得我用的是第三方的插件.但是,苹果出了这套解析后,效率也大大了超过了,所有的解析第三方类库.所以,推荐使用NSJSONSerialization类来完成转化. 一.将NSDictionary或NSArray转化为JSON串 // 将字典或者数组转化为JSON串 - (NSData *)toJSON

socket上传nsdictionary的json数据异常

异常情况如下:按照正常的写法,将上传对数据封装在nsdictionary里,然后检验是否符合json格式化,调用系统的json序列化方法将nsdictionary转化为json数据然后上传, 异常结果如下:,后台只能收到收到nsdictionary的第一个{,后测试数据从nsdictionary的第一个{断开了 由于控制台打印的nsdictioanry数据如下 故猜测上传数据时"\n"作为了数据的分隔符被切断了,所以将nsdictionary转化为nsstring并且将"\n

ios 不同的数据类型转化为json类型

字典串转json + (NSString*)dictionaryToJson:(NSDictionary *)dic { NSError *parseError = nil; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&parseError]; return [[NSString alloc] initWithData:jsonDa

IOS开发之----NSDictionary,JSON和XML互相转换

本文永久地址为 http://www.cnblogs.com/ChenYilong/p/4044521.html,转载请注明出处. ? ? -(void)test { ? ? //XML文本范例 ? ? NSString *testXMLString = @"Cake0.55RegularChocolateBlueberryNoneGlazedSugar"; ?? ? ? ? NSLog(@"xml string[\n%@\n]", testXMLString);