iOS NSDictionary JSON 相互转换

本文介绍了如何将JSON格式的字符串转换为Objective-C字典,以及如何将字典转换回JSON字符串的方法。提供了详细的代码示例,包括错误处理,确保转换过程的准确性。
  1. /*!   
  2.  * @brief 把格式化的JSON格式的字符串转换成字典   
  3.  * @param jsonString JSON格式的字符串   
  4.  * @return 返回字典   
  5.  */    
  6. + (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString {    
  7.     if (jsonString == nil) {    
  8.         return nil;    
  9.     }    
  10.         
  11.     NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];    
  12.     NSError *err;    
  13.     NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData    
  14.                                                         options:NSJSONReadingMutableContainers    
  15.                                                           error:&err];    
  16.     if(err) {    
  17.         NSLog(@"json解析失败:%@",err);    
  18.         return nil;    
  19.     }    
  20.     return dic;    
  21. }    

 

Cpp代码  收藏代码
  1. /** 
  2.  *  字段转换成json字符串 
  3.  * 
  4.  *  @param dict <#dict description#> 
  5.  * 
  6.  *  @return <#return value description#> 
  7.  */  
  8. +(NSString *)dictToJsonStr:(NSDictionary *)dict{  
  9.       
  10. //    NSMutableDictionary *dict = [NSMutableDictionary new];  
  11. //    [dict setObject:@"" forKey:@"AWL_LAN"];  
  12. //    [dict setObject:@"" forKey:@"AWL_LON"];  
  13. //    [dict setObject:@"1"  forKey:@"U_ID"];  
  14.     NSString *jsonString = nil;  
  15.     if ([NSJSONSerialization isValidJSONObject:dict])  
  16.     {  
  17.         NSError *error;  
  18.         NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&error];  
  19.         jsonString =[[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];  
  20.         //NSLog(@"json data:%@",jsonString);  
  21.         if (error) {  
  22.             NSLog(@"Error:%@" , error);  
  23.         }  
  24.     }  
  25.     return jsonString;  
  26. }  

转载于:https://www.cnblogs.com/sundaysgarden/p/10540737.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值