在IOS中使用json
1、从https://github.com/stig/json-framework/中下载json框架:json-framework
2、解压下载的包,将class文件夹下的所有文件导入到当前工程下。
3、在使用的文件中加入导入语句 :#import "SBJson.h"
4、将json字符串转为NSDictionary对象。
- NSString *temp=@"{\"中国\":{
- \"北京\":{\"北京1\":1,\"北京2\":2,\"北京3\":3},
- \"上海\":{\"上海1\":4,\"上海2\":5,\"上海3\":6},
- \"广州\":{\"广州1\":7,\"广州2\":8,\"广州3\":9}}}";
- NSDictionary *items = [temp JSONValue];
NSString *temp=@"{\"中国\":{
\"北京\":{\"北京1\":1,\"北京2\":2,\"北京3\":3},
\"上海\":{\"上海1\":4,\"上海2\":5,\"上海3\":6},
\"广州\":{\"广州1\":7,\"广州2\":8,\"广州3\":9}}}";
NSDictionary *items = [temp JSONValue];
5、递归遍历解析出的NSDictionary对象
- -(void)visitDict:(NSDictionary *)dict{
- NSArray *keys=[dict allKeys];
- for (NSString *key in keys) {
- NSString *result=[NSString stringWithFormat:@"key=%@,value=%@",key,[dict objectForKey:key]];
- NSLog(result);
- if([[dict objectForKey:key] isKindOfClass:[NSDictionary class]]){
- [self visitDict:[dict objectForKey:key]];
- }
- }
- }
-(void)visitDict:(NSDictionary *)dict{
NSArray *keys=[dict allKeys];
for (NSString *key in keys) {
NSString *result=[NSString stringWithFormat:@"key=%@,value=%@",key,[dict objectForKey:key]];
NSLog(result);
if([[dict objectForKey:key] isKindOfClass:[NSDictionary class]]){
[self visitDict:[dict objectForKey:key]];
}
}
}
6、将解析出的NSDictionary对象还原为json字符串
- NSString * jsonStr=[items JSONRepresentation];
NSString * jsonStr=[items JSONRepresentation];
在IOS中使用json的更多相关文章
- 在ios中解析json数据
刚刚下午那会 弄了个 解析 xml demo的小例子,本想着json也挺复杂 弄还是 不弄,但是简单的看了下 发现挺简单 考虑了很久,还是写上来吧,毕竟json用得太多了,而且算是自己的积累吧,毕竟 ...
- iOS中解析json多种方法
我感觉JSON解析,重要的是JSON解析之后对结果的处理JSON解析后是个dictionary,但是字典中有可能包含字典和数组,数组中还可以包含字典.向客户端请求的返回数据解析下面就简单介绍一下JSO ...
- IOS中的JSON数据的解析
解析Json数据 //加载.json文件 NSString *path = [[NSBundle mainBundle]pathForResource:@"product.json" ...
- ios中解析json对象基类
这个是对上面一篇写的一个解析json对象的基类 @interface BaseObjectFromJson : NSObject + (id) objectWithDict:(NSDictionary ...
- iOS边练边学--iOS中的json数据解析
JSON数据(NSData) -> OC对照表 {} -> NSDictionary @{} [] -> NSArray @[] "jack" -> NSS ...
- iOS中处理json解析出现的null,nil的解决办法
最开始是使用的一个函数进行处理,代码如下: - (id) setNoNull:(id)aValue{ if (aValue == nil) { aValue = @"";//为nu ...
- iOS中解析 XML / JSON
JSON数据格式 1. 概述: JSON (JavaScript Object Notation) 是⼀一种轻量级的数据交换格式 基于⽂文本格式,易于⼈人阅读和编写,同时也易于机器解析和⽣生成. 2. ...
- IOS学习:ios中的数据持久化初级(文件、xml、json、sqlite、CoreData)
IOS学习:ios中的数据持久化初级(文件.xml.json.sqlite.CoreData) 分类: ios开发学习2013-05-30 10:03 2316人阅读 评论(2) 收藏 举报 iOSX ...
- 关于iOS中几种第三方对XML/JSON数据解析的使用
Json XML 大数据时代,我们需要从网络中获取海量的新鲜的各种信息,就不免要跟着两个家伙打交道,这是两种结构化的数据交换格式.一般来讲,我们会从网络获取XML或者Json格式的数据,这些数据有着特 ...
随机推荐
- 【Dijkstra】
[摘自]:华山大师兄,推荐他的过程动画~ myth_HG 定义 Dijkstra算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径.主要特点是以起始点为中心向外层层扩展,直到扩 ...
- [Excel操作]Microsoft Office Excel 不能访问文件
最近,客户服务器迁移,因操作系统环境变化而引起的的环境问题一堆,遇到的问题并解决方法在“[Excel]操作”类别会体现. Microsoft Office Excel 不能访问文件“C:\\LMSEx ...
- JS/jQuery宽高的理解和应用
1.widows:窗口.window对象可省略 2.document对象是window对象的一部分 浏览器的Html文档成为Document对象 window.location===document. ...
- CSS hacker(兼容IE6、7、8)
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">这行代码是永远以最新的 ...
- 跟我学习dubbo-使用Maven构建Dubbo服务的可执行jar包(4)
Dubbo服务的运行方式: 1.使用Servlet容器运行(Tomcat.Jetty等)----不可取 缺点:增加复杂性(端口.管理) 浪费资源(内存) 官方:服务容器是一个standalone的启动 ...
- shell--学习 sed
sed:数据流编辑器 读一行到内存处理一行然后输出一行. 模式空间: sed:默认不编辑源文件 sed [option] ADDRESSCOMMAND file 1.起始行. 结束行 sed ...
- R语言快速入门
R语言是针对统计分析和数据科学的功能全面的开源语言,R的官方网址:http://www.r-project.org/ 在Windows环境下安装R是很方便的 R语言的两种运行模式:交互模式和批处理模 ...
- android APP是否需要缓存?+简单架构
问题的由来 昨天,当我写完我的第一篇博客之后,我便百无聊赖的玩起了手机!当我打开Google自带的一些app的时候,发现他们直接叫我连接网络,并没有缓存上次从网络获取的数据.这就让我感到很奇怪!于是我 ...
- (转)Linux下Oracle启动、建立表空间、用户、授权、数据库导入导出
Linux系列 启动1.启动数据库实例,分为两步:第一步,启动监听:第二步,启动数据库实例. 1.1进入到sqlplus启动实例 [oracle@redhat ~]$ su - oracle ...
- HTML+CSS学习笔记 (13) - CSS代码缩写,占用更少的带宽
标签:HTML+CSS 盒模型代码简写 还记得在讲盒模型时外边距(margin).内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左.具体应用在m ...