iOS中解析 XML / JSON
JSON数据格式
1. 概述:
JSON (JavaScript Object Notation) 是⼀一种轻量级的数据交换格式
基于⽂文本格式,易于⼈人阅读和编写,同时也易于机器解析和⽣生成。
2. JSON 数据的书写格式是:名称/值 • 名称写在前⾯面(在双引号中)
• 值对写在后⾯面
• 中间⽤用冒号隔开
3. JSON 值⽀支持类型
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true 或 false)
数组(在中括号中)
对象(在花括号中)
null
JSON格式⼀一:最外层是⼤大括号
在线JSON格式化⼯工具
http://json.phpddt.com
URL:
http://api.openweathermap.org/data/2.5/weather?
q=beijing&units=metric
JSON格式⼆二:最外层是中括号
1. JSON值⽀支持类型和OC对象的对应关系
数字 —> NSNumber
双引号 —> NSString
中括号 —> NSArray
⼤大括号 —> NSDictionary
null —> NSNull
2. 对象转模型: 将解析后的OC对象(NSArray/NSDictionary)转换成⾃自定义的模型类
XML数据格式
1. XML (eXtensible Markup Language) 可扩展标记语⾔言,
• 是⼀一种⽤用于标记电⼦子⽂文件使其具有结构性的标记语⾔言
• XML 是各种应⽤用程序之间进⾏行数据传输的常⽤用的语⾔言之⼀一。
2. XML⽂文档的三个术语:
根元素: 最外层的元素
元素(Element): 从开始标签直到结束标签的部分
属性(Attribute): 提供元素的额外信息
1. XML样例⼀一:
2. XML样例⼆二:
1. XML解析⽅方式:
DOM: ⼀一次性将整个xml⽂文档加载进内存,通过xml⽂文档内的元素结构,解析出元素对
应的值/属性
SAX: 从xml⽂文档的根元素开始,按元素的先后顺序依次解析
2. iOS中解析XML⽂文档类/库
GDataXML: DOM⽅方式解析,由Google开发,基于libxml2
NSXMLParser: SAX⽅方式解析,使⽤用相对简单
3. 样例:使⽤用GDataXML解析xml⽂文档
• 配置:a. GDataXML/⽂文件夹导⼊入xcode⼯工程中
b. Build Setting中的”Header Search Paths”添加 /usr/include/libxml2
c. Build Setting中的”Other Linker Flags”添加 -lxml2
iOS中解析 XML / JSON的更多相关文章
- iOS 中的 xml 解析
在ios 中解析xml 的方法有很多种 1.苹果原生 NSXMLParser:SAX方式解析,使用简单 2.第三方框架 libxml2:纯c语言,默认包含在ios sdk中,同时支持DOM 和 SA ...
- 用 ElementTree 在 Python 中解析 XML
用 ElementTree 在 Python 中解析 XML 原文: http://eli.thegreenplace.net/2012/03/15/processing-xml-in-python- ...
- [置顶] Android学习系列-Android中解析xml(7)
Android学习系列-Android中解析xml(7) 一,概述 1,一个是DOM,它是生成一个树,有了树以后你搜索.查找都可以做. 2,另一种是基于流的,就是解析器从头到尾解析一遍xml文件. ...
- Delphi中解析Xml的控件-SimDesign NativeXml
Delphi中解析Xml的控件-SimDesign NativeXml 正在学习,感觉应用很方便.无源代码的版本还是免费的. SimDesign.NativeXml是一个delphi和bcb的XML控 ...
- Android中解析XML格式数据的方法
XML介绍:Extensible Markup Language,即可扩展标记语言 一.概述 Android中解析XML格式数据大致有三种方法: SAX DOM PULL 二.详解 2.1 SAX S ...
- 在ios中解析json数据
刚刚下午那会 弄了个 解析 xml demo的小例子,本想着json也挺复杂 弄还是 不弄,但是简单的看了下 发现挺简单 考虑了很久,还是写上来吧,毕竟json用得太多了,而且算是自己的积累吧,毕竟 ...
- iOS中解析json多种方法
我感觉JSON解析,重要的是JSON解析之后对结果的处理JSON解析后是个dictionary,但是字典中有可能包含字典和数组,数组中还可以包含字典.向客户端请求的返回数据解析下面就简单介绍一下JSO ...
- iOS边练边学--iOS中的XML数据解析
XML的解析方式 SAX 大小文件都可以 NSXMLParser DOM 最好是小文件 GDataXML NSXMLParser的用法 创建解析器来解析 // 创建XML解析器 NSXMLParser ...
- spring中解析xml
解析xml有SAX,Stax,dom等方式,那么spring中是如何解析xml文件的呢? Document doc = this.documentLoader.loadDocument( inputS ...
随机推荐
- 委托的lambda表达式
委托可以用 Lambda 表达式的方法来表示,很多C#的代码都会大量使用 Lambda 表达式,正确理解它的用法还是很重要的. 基础规则: Lambda 运算符 “=>” 左边表示委托实例所需要 ...
- Spring ApplicationContext的事件机制
ApplicationContext的事件机制是观察者设计模式的实现,通过 ApplicationEvent 类和 ApplicationListener 接口,可以实现 ApplicationCon ...
- LINUX搭建SVN客户端和多个项目的权限分组管理
搭建SVN服务,有效的管理代码,以下三步可以快速搞定.1.安装 #yum install subversion 判断是否安装成功 1 #subversion -v svnserve, version ...
- 转:Top 10 Algorithms for Coding Interview
The following are top 10 algorithms related concepts in coding interview. I will try to illustrate t ...
- Quartz与Spring集成 Job如何自动注入Spring容器托管的对象
在Spring中使用Quartz有两种方式实现:第一种是任务类继承QuartzJobBean,第二种则是在配置文件里定义任务类和要执行的方法,类和方法可以是普通类.很显然,第二种方式远比第一种方式来的 ...
- 《how to design programs》14章 再论自引用数据
这是一个家族谱: ;child(define-struct child (father mother name date eyes)) #lang racket ;child (define-stru ...
- 使用 VMAccess 扩展程序重置 Linux 虚拟机的登录凭据
Ning KuangWSSC WS ARD高级项目经理 您是否曾经因为忘记 Azure VM 密码或 SSH密钥而导致无法访问 VM?VMAccess扩展程序使您可以重置密码.SSH密钥或 SSH ...
- HDOJ 1017 A Mathematical Curiosity
Problem Description Given two integers n and m, count the number of pairs of integers (a,b) such tha ...
- Android Studio 遇见的第一个Error
最近在国内多次尝试在Eclipse下更新SDK无果后,最后终于通过FQ后结束了Google服务器无法访问的噩梦. 顺着墙外的梯子,一并下载Google的Android Studio尝鲜,安装成功后,就 ...
- C++ STL之set常用指令
set,关联容器,元素不允许有重复,数据被组织成一棵红黑树,以牺牲插入和删除元素的效率换来了查找元素的高效率(O(logN)). 1.初始化 set<int> st; 2.begin返回第 ...