字典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())];

posted on 2015-08-19 13:51  ZQHE  阅读(1105)  评论(0)    收藏  举报

导航