JSON数据与NSDictionary和NSArray之间的转化
2016-05-12 17:36
615 查看
在一次项目中,需要将数组作为字典的value上传给后台,查询发现,数组是不能直接作为value上传给后台的,需要将数组转化为json串才可以。顺便就查询总结了下字典,数组和json之间的相互转化。
一.将字典或者数组转化为json串
使用例子:
二.将json转为数组或者字典
使用例子:
一.将字典或者数组转化为json串
- (NSData *)toJSONData:(id)theData{ NSError *error = nil; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:theData options:NSJSONWritingPrettyPrinted error:&error]; if ([jsonData length] > 0 && error == nil){ return jsonData; }else{ return nil; } } NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
使用例子:
//数组转为json串 NSData *jsonData = [self toJSONData:array]; NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
- (NSData *)toJSONData:(id)theData{ NSError *error = nil; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:theData options:NSJSONWritingPrettyPrinted error:&error]; if ([jsonData length] > 0 && error == nil){ return jsonData; }else{ return nil; } }
二.将json转为数组或者字典
[jsonString dataUsingEncoding:NSASCIIStringEncoding]; // 将JSON串转化为字典或者数组 - (id)toArrayOrNSDictionary:(NSData *)jsonData{ NSError *error = nil; id jsonObject = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:&error]; if (jsonObject != nil && error == nil){ return jsonObject; }else{ // 解析错误 return nil; } }
使用例子:
//json转数组 NSData *data90 = [jsonString dataUsingEncoding:NSASCIIStringEncoding]; NSArray *arr = [self toArrayOrNSDictionary:data90];
- (id)toArrayOrNSDictionary:(NSData *)jsonData{ NSError *error = nil; id jsonObject = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:&error]; if (jsonObject != nil && error == nil){ return jsonObject; }else{ // 解析错误 return nil; } }
相关文章推荐
- JavaScript实现加法运算例子(2种方法)
- js事件行为
- json-lib 输出父子级联对象
- 升级webapi依赖的Newtonsoft.json的版本(转)
- JSP的注释
- hammer.js手势
- Ext JS 4 - Ajax和Rest代理处理服务器端异常和消息的方法
- c# 执行javascript
- js自定义select下拉框美化特效
- Jstorm-------storm.yaml配置
- 一个问题提交的实例(js原生动画,原生ajax,js引用加参数)
- JavaScript
- jsonp跨域调用
- 利用jsp+uploadify插件实现删除上传到ftp服务器里面的文件
- phantomjs使用说明
- JS函数的定义与调用方法推荐
- 图解JSP与Servlet的关系
- JSP应用导出Excel报表的简单实现以及中文乱码彻底解决(HTML)
- pyspider 爬虫教程(三):使用 PhantomJS 渲染带 JS 的页面
- 2016.5.12 JavaScript笔记