字典NSDictionary和Json字符串互相转换
编码过程中,数据的处理是必要的。众多数据中,NSString、NSData、NSArray、 NSDictionary等数据类型是常用的,对付它们容易,但是在多个数据类型之间转换,就需要技巧啦。(可能不全面,根据LZ本身项目需求,一直在添 加,望给大家提供方便) 在编码过程中,数据的处理是必要的。众多数据中,NSString、NSData、NSArray、 NSDictionary等数据类型是常用的,对付它们容易,但是在多个数据类型之间转换,就需要技巧啦。(可能不全面,根据LZ本身项目需求,一直在添 加,望给大家提供方便)
1、NSString相关
(1)NSDictionary转换成NSString:
|
1
2
3
4
5
6
|
//用字符将NSArray中的元素拼接起来 NSArray *array = [NSArray arrayWithObjects:@"hello",@"world",nil]; //如要用,:等字符串拼接,只需将下面的@" "空格换成@","或@":"即可 NSString *string = [array componentsJoinedByString:@" "]; NSLog(@"string = %@",string); |
(2)char* 转换成NSString:
|
1
|
NSString *dataStr=[NSString stringWithCString:(char*) encoding:NSUTF8StringEncoding]; |
(3)NSData转换成NSString:
|
1
2
|
NSString *dataStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; |
2、NSDictionary相关
(1)字典NSDictionary转成Json字符串
|
1
2
3
4
5
6
|
- (NSString*)dictionaryToJson:(NSDictionary *)dic{ NSError *parseError = nil; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&parseError]; return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];} |
(2)NSString转换成NSDictionary
|
1
|
NSDictionary *dic = [dicStr JSONValue] ; |
3、NSData相关
(1)Byte转NSData
|
1
|
NSData *data = [NSData dataWithBytes: bytes length:strlen(packet->getPayload())]; |
浙公网安备 33010602011771号