NSArray *array = @[ @1, @2, @3, @4, @5, @3 ];
// 1. NSArray与NSData相互转化
// NSArray to NSData
NSError *error;
NSData *arrayData = [NSJSONSerialization dataWithJSONObject:array options:NSJSONWritingPrettyPrinted error:&error];
if (!error) {
NSLog(@"arrayData = %@", arrayData);
} else {
NSLog(@"%@", error);
}
// NSData to NSArray
NSArray *data2Array = [NSJSONSerialization JSONObjectWithData:arrayData options:NSJSONReadingMutableLeaves error:&error];
if (!error) {
NSLog(@"data2Array = %@", data2Array);
} else {
NSLog(@"%@", error);
}
// 2. NSArray与NSString相互转化
// NSArray to NSString
NSString *arrayStr = [array componentsJoinedByString:@","];
NSLog(@"arrayStr = %@", arrayStr);
// NSString to NSArray
NSArray *string2Array = [arrayStr componentsSeparatedByString:@","];
NSLog(@"string2Array = %@", string2Array);
NSDictionary *dictionary = @{ @"name": @"xue zhang", @"sex": @1, @"age": @25 };
// 3. dictionary与NSData相互转化
// NSArray to NSData
NSData *dictionaryData = [NSJSONSerialization dataWithJSONObject:dictionary options:NSJSONWritingPrettyPrinted error:&error];
if (!error) {
NSLog(@"dictionaryData = %@", dictionaryData);
} else {
NSLog(@"%@", error);
}
// NSData to NSDictionary
NSDictionary *data2Dictionary = [NSJSONSerialization JSONObjectWithData:dictionaryData options:NSJSONReadingMutableLeaves error:&error];
if (!error) {
NSLog(@"data2Dictionary = %@", data2Dictionary);
} else {
NSLog(@"%@", error);
}
// 4. NSDictionary与NSString相互转化
// NSDictionary to NSString
NSString *dictionaryStr = [[NSString alloc] initWithData:dictionaryData encoding:NSUTF8StringEncoding];
NSLog(@"dictionaryStr = %@", dictionaryStr);
// NSString to NSArray
NSDictionary *string2Dictionary = [NSJSONSerialization JSONObjectWithData:[dictionaryStr dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableLeaves error:&error];
NSLog(@"string2Dictionary = %@", string2Dictionary);