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

 

你可能感兴趣的:(Data)