XML&JSON数据格式介绍

XML介绍

XML:可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。

XML文档有两种解析模式:一种是SAX(从根元素开发一个接着一个的解析),一种是DOM(将整个XML文档加载进内存解析)。

在iOS开发中常用的XML的解析方法有两种,一种是使用苹果原生的NSXMLParser来解析(该方法基于SAX),一种是使用谷歌公司提供的第三方框架GDataXML来解析(该方法基于DOM)。

XML数据格式:

XML&JSON数据格式介绍_第1张图片
XML数据

JSON介绍

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 

JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成。

JSON是一种取代XML的数据结构,和XML相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少,从而加快速度。

那么,JSON到底是什么?

JSON就是一串字符串 只不过元素会使用特定的符号标注。

JSON 语法规则

1、数据在键值对中

2、数据由逗号分隔

3、花括号保存对象{ }

4、方括号保存数组  [ ]

5、“ " 双引号内是属性或值

6、: 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是数组或对象)

{"name": "Michael"} 可以理解为是一个包含name为Michael的对象

[{"name": "Michael"},{"name": "Jerry"}]就表示包含两个对象的数组

当然了,你也可以使用{"name":["Michael","Jerry"]}来简化上面一部,这是一个拥有一个name数组的对象

1、{ 字典 }

2、{ 字典里包含 {字典 } }

3、{ 字典里包含数组 [ 且数组里包含 { 字典 } ] }

4、{ 字典里包含数组 [ 且数组里包含 { 字典 {字典再包含字典 } } ] }

iOS自带JSON解析方法

NSError*error;

NSDictionary*dict = [NSJSONSerializationJSONObjectWithData:dataoptions:NSJSONReadingMutableLeaveserror:&error];

JSON数据格式

XML&JSON数据格式介绍_第2张图片
JSON数据

总结

1、JSON和XML都是一种用来表示数据的一种数据格式,JSON更加轻量级。

2、服务器返回的数据通常是JSON或者XML,JSON数据格式和OC对象中字典和数组有些相似,XML又称为XML文档,XML的语法结构由三部分构成分别是文档声明,元素和属性。

3、如果服务器返回的数据是JSON,那么在开发中通常需要对JSON数据进行反序列化处理,把JSON数据转换为OC对象。

4、如果服务器返回的数据是XML格式的,那么需要对XML文档进行解析,解析XML的方式有两种,分别是SAX(从根元素开始解析)和DOM(先把整个XML文档加载进内存再解析)

你可能感兴趣的:(XML&JSON数据格式介绍)