NSData 转换 Dictionary

#import "NSDataToDictionaryTools.h"

@implementation NSDataToDictionaryTools


+(NSData *)NSDictionaryToNSData:(NSDictionary *)dictionary
{
    NSMutableData *data = [[NSMutableData alloc] init];
    NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
    [archiver encodeObject:dictionary forKey:@"KeyValue"];
    [archiver finishEncoding];
    
    return data;
}


+(NSString *)NSDictionaryToJSON:(NSDictionary *)dictionary
{

    NSData *prettyJson = [NSJSONSerialization dataWithJSONObject:dictionary options:NSJSONWritingPrettyPrinted error:nil];
    NSString *jsonstr = [self NSDataToNSString:prettyJson];
    return  jsonstr;
}


+(NSDictionary *)NSDataToNSDictionary:(NSData *)data
{
    //NSData-->NSDictionary
    NSDictionary *myDictionary = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
    
    //NSData-->NSDictionary
//    NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
//    NSDictionary *myDictionary = [unarchiver decodeObjectForKey:@"KeyValue"];
//    [unarchiver finishDecoding];
    
    return myDictionary;
}


//NSString和NSData转换(即可作json串互相转换)
+(NSString *)NSDataToNSString:(NSData *)data
{
    //NSData-> NSString
    NSString *myString = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
    return myString;
    
    //NSString->NSData
    //NSString *aString = @"我是NSString";
    //NSData *testData = [testString dataUsingEncoding: NSUTF8StringEncoding];
}


@end
原文地址:https://www.cnblogs.com/allanliu/p/4226596.html