结构体转NSData
NSData * data = [NSDatadataWithBytes:&multiNetData length:sizeof(multiNetData)];
NSData转结构体
ConnectData connectData;
memset(&connectData, 0, sizeof(connectData));
[data getBytes:&connectDatalength:sizeof(connectData)];
NSData --> NSString
NSString *aString = [[NSString alloc] initWithData:adata encoding:NSUTF8StringEncoding];
NSString --> NSData
NSString *aString = @"1234";
NSData *aData = [aString dataUsingEncoding: NSUTF8StringEncoding];
NSData转char*
NSData *data;
char *test=[data bytes]
char*转NSData
byte* tempData = malloc(sizeof(byte)*16);
NSData *content=[NSData dataWithBytes:tempData length:16];
NSDictionary转NSData
//NSDictionary -> NSData:
NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
@"balance", @"key",
@"remaining balance", @"label",
@"45", @"value",
@"USD", @"currencyCode",nil];
NSMutableData *data = [[NSMutableData alloc] init];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
[archiver encodeObject:params forKey:@"Some Key Value"];
[archiver finishEncoding];
NSData转NSDictionary
//NSData -> NSDictionary
NSData *data = [[NSMutableData alloc] initWithContentsOfFile:[self dataFilePath]];
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
NSDictionary *myDictionary = [[unarchiver decodeObjectForKey:@"Some Key Value"] retain];
[unarchiver finishDecoding];
[unarchiver release];
[data release];
NSDictionary转JSON
//NSDictionary -> JSON:
NSString *jsonStr=[dict JSONRepresentation];
注意JSON与NSDictionary类型的转换一般会用到第三方公开的JSON库,读者可以在网上找到很多。
JSON转NSDictionary
NSError *error = nil;
NSDictionary * jsonObject = [NSJSONSerialization JSONObjectWithData:requestData options:NSJSONReadingAllowFragments error:&error];