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 ...
随机推荐
- Ajax表单提交插件jquery form
jQuery Form插件是一个优秀的Ajax表单插件,我们可以非常容易的使用它处理表单控件的值,清空和复位表单控件,附件上传,以及完成Ajax表单提交. jQuery Form有两个核心方法ajax ...
- redis-cli批量删除时的坑
redis-cli keys "*"|xargs redis-cli del tips: keys后面的*号,必须要加双引号,不然删不掉 # redis-cli keys *|xa ...
- jquery validate 自定义验证方法 日期验证
jquery validate有很多验证规则,但是更多的时候,需要根据特定的情况进行自定义验证规则. 这里就来聊一聊jquery validate的自定义验证. jquery validate有一个方 ...
- collapse
1. border-collapse 该CSS属性用来设定表格的行和列的边框是合并成单边框,还是分别有各自的边框 separate 缺省值.边框分开,不合并. collapse 边框合并.即如果相邻, ...
- 使用libevent进行多线程socket编程demo
最近要对一个用libevent写的C/C++项目进行修改,要改成多线程的,故做了一些学习和研究. libevent是一个用C语言写的开源的一个库.它对socket编程里的epoll/select等功能 ...
- Flask+Mysql搭建网站之数据库问题
关于 SQLAlchemy (1.0.8) 和 Flask-SQLAlchemy (2.0) SQLALchemy 是Python语言的SQL工具包及对象关系映射(ORM)工具.Flask-SQLAL ...
- protocolbuffer数据交换格式说明
protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台.google 提供了多种语言的实现:java.c#.c++.go 和 python,每一种实 ...
- JavaScript新手学习笔记1——数组
今天,我复习了一下JavaScript的数组相关的知识,总结一下数组的API: 总共有11个API:按照学习的先后顺序来吧,分别是: ① toString() 语法:arr.toString(); ...
- Android Studio中解决Gradle DSL method not found: 'android()'
近期导入as的项目出了这种问题 这个问题困扰了我非常长时间,好吧,搜了半天全都是runProguard的.最后在stackoverflow上搜到解决的方法了: http://stackoverflow ...
- Arduino 数码管LED屏驱动
今天測试数码管LED屏驱动,用某产品的一个共阴极的LED屏,依据电路图做数码管LED屏的检測. 代码写得有些冗长,有好几种驱动的方法,这里仅仅是当中一种最直接的方案,抽出时间要做个更有效率的调用和驱动 ...