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
-