//普通字符串转JSON字符串转字典
2016-01-19 09:30
591 查看
- (void)viewDidLoad { [super viewDidLoad]; //普通字符串 NSString *messageStr = @"{\"type\":3,\"class_id\":\"101446\",\"title\":\"test_\\u82f9\\u679c\",\"content\":\"123456\\u6d4b\\u8bd5\\u82f9\\u679c\\u63a8\\u9001\",\"class_type\":0}"; //JSON字符串 // NSString *jsonMessage = [self JSONString:messageStr]; //转换成字典 NSDictionary *message = [self dictionaryWithJsonString:messageStr]; NSLog(@"%@",message); } -(NSString *)JSONString:(NSString *)aString { NSMutableString *s = [NSMutableString stringWithString:aString]; [s replaceOccurrencesOfString:@"\"" withString:@"\\\"" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])]; [s replaceOccurrencesOfString:@"/" withString:@"\\/" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])]; [s replaceOccurrencesOfString:@"\n" withString:@"\\n" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])]; [s replaceOccurrencesOfString:@"\b" withString:@"\\b" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])]; [s replaceOccurrencesOfString:@"\f" withString:@"\\f" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])]; [s replaceOccurrencesOfString:@"\r" withString:@"\\r" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])]; [s replaceOccurrencesOfString:@"\t" withString:@"\\t" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])]; return [NSString stringWithString:s]; } - (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; }
相关文章推荐
- jstl标签
- 了解JavaScript
- 浏览器环境下JavaScript脚本加载与执行探析之动态脚本与Ajax脚本注入
- 关于使用JSONKit一直崩溃
- JS常用小技巧
- js实现有过渡渐变效果的图片轮播相册(兼容IE,ff)
- jsp
- 图片上传插件ImgUploadJS:用HTML5 File API 实现截图粘贴上传、拖拽上传
- 排序—归并排序(js实现)
- JavaScript两大支柱-PART1:如何逃脱第七层地狱(译)
- 浏览器环境下JavaScript脚本加载与执行探析之动态脚本与Ajax脚本注入
- 浅谈 JS中的数据类型
- javascript捕获键盘组合事件
- JS在EditPus中无法通过getAttribute()获取class属性---解决办法
- js实现有过渡渐变效果的图片轮播相册(兼容IE,ff)
- 浏览器环境下JavaScript脚本加载与执行探析之动态脚本与Ajax脚本注入
- 学习JavaScript设计模式之装饰者模式
- 学习JavaScript设计模式之单例模式
- 详解JavaScript对象序列化
- 理解JS绑定事件