【iOS】json格式转换
NSString *str = nil; //字符串 NSMutableString *string = [[NSMutableString alloc] init]; [string appendString:@"xxxx"]; str = [string JSONString]; NSLog(@"str1:%@",[NSString stringWithString:str]);
//数组 NSArray *array = [[NSArray alloc] initWithObjects:@"111",@"333",@"222", nil]; // NSMutableArray *array = [NSMutableArray array]; str = [array JSONString]; NSLog(@"str2:%@",[NSString stringWithString:str]); [array release ];
//字典 NSArray *firstArr = [NSArray arrayWithObjects:@"first",@"second", nil]; //基本数据类型转换成NSNumber类型 NSArray *secondArr = [NSArray arrayWithObjects:[NSNumber numberWithDouble:2.1],[NSNumber numberWithBool:NO], nil]; //加到字典中 NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:firstArr,@"first",secondArr,@"second", nil]; //转化成json格式 str = [dic JSONString]; NSString *str2 = [NSString stringWithString:str]; NSLog(@"str3:%@",str2);
//编码 NSData *archive = [NSKeyedArchiver archivedDataWithRootObject:array]; // NSLog(@"archive:%@",archive); NSArray *arr2 = [NSKeyedUnarchiver unarchiveObjectWithData:archive]; NSLog(@"arr2:%@",arr2);
/*!
* @brief 把格式化的JSON格式的字符串转换成字典
* @param jsonString JSON格式的字符串
* @return 返回字典
*/
+ (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString {
if (jsonString == nil) {
return nil;
}
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError *err;
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData
options:NSJSONReadingMutableContainers
error:&err];
if(err) {
NSLog(@"json解析失败:%@",err);
return nil;
}
return dic;
}
+ (NSString*)dictionaryToJson:(NSDictionary *)dic
{
NSError *parseError = nil;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&parseError];
return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。