- JSON,全称是 JavaScript Object Notation,即 JavaScript对象标记法。
- JSON是一种轻量级(Light-Meight)、基于文本的(Text-Based)、可读的(Human-Readable)格式。
- JSON 常用来数据传输,因为它易于程序之前读写操作。
XML方式:
取回一个XML文件
循环它,从中提取值
处理这些值,等
JSON方式:
取回JSON字符串。
‘eval’ JSON数据
2. JSON 的语法规则是怎样的?
JSON 使用键值对的形式来表示数据
数组(Array)用方括号(“[]”)表示。
对象(0bject)用大括号(“{}”)表示。
名称/值对(name/value)组合成数组和对象。
名称(name)置于双引号中,值(value)有字符串、数值、布尔值、null、对象和数组。
并列的数据之间用逗号(“,”)分隔
{
"name": "xdr630",
"favorite": "programming"
}
3. JSON 和 XML
JSON常被拿来与XML做比较,因为JSON 的诞生本来就多多少少要有取代XNL的意思。相比 XML,JSON的优势如下:
没有结束标签,长度更短,读写更快
能够直接被JavaScript解释器解析
可以使用数组
1、相同点
1. json与xml是一种远程数据传输交换格式。
2. json是轻量级的,xml标记电子文件具有结构性的语言。
2、不同点
1. xml缺点:xml是远程数据传输,交换格式数据庞大,比较占宽带,解析异常复杂,不易于维护,同时在不同服务器中的解析格式不同,造成大量数据重复。
2. json优点:因为文件格式压缩,格式简单,占宽带小,易于维护。
JSON对数据的描述性比XML较差。JSON相对于XML来讲,数据的体积小,传递的速度更快些。
两者比较
JSON:
{
"name":"兮动人",
"age":22,
"fruits":["apple","pear","grape"]
}
XML:
<root>
<name>兮动人</name>
<age>22</age>
<fruits>apple</fruits>
<fruits>pear</fruits>
<fruits>grape</fruits>
</root>
序列化
反序列化
-
可读性:
- JSON 更加紧凑和简洁,通常比 XML 更易于阅读和编写。
- XML 具有更多的结构和标签,通常比 JSON 更加冗长,但更容易理解其结构。
-
数据类型:
- JSON 支持的数据类型相对较少,主要包括字符串、数字、布尔值、数组和对象。
- XML 没有内置的数据类型,但可以通过标签的约定和属性来表示不同类型的数据。
-
扩展性:
- JSON 不支持注释和命名空间等扩展机制,结构相对简单。
- XML 支持注释、命名空间和其他扩展机制,可以更灵活地描述数据结构和语义。
-
解析速度:
- 由于 JSON 结构相对简单,解析速度通常比 XML 更快,适合于在网络上进行数据交换。
- XML 结构较为复杂,解析速度可能会比 JSON 稍慢,但适合描述复杂的数据结构和语义。
-
语法结构:
- JSON 使用键值对(key-value pairs)的形式表示数据,数据项之间用逗号分隔,整个结构用大括号
{}
包裹。 - 数组(Array)用方括号(“[]”)表示。
对象(0bject)用大括号(“{}”)表示。
jsonCopy code
{ "name": "John Doe", "age": 30, "city": "New York" }
- XML 使用标签(tags)的形式表示数据,标签可以嵌套,有开始标签和结束标签,整个结构用尖括号
<>
包裹。
xmlCopy code
<person> <name>John Doe</name> <age>30</age> <city>New York</city> </person>
- JSON 使用键值对(key-value pairs)的形式表示数据,数据项之间用逗号分隔,整个结构用大括号
-
可读性:
- JSON 相对于 XML 更加简洁,易读性较高,适合在网络传输中使用。
- XML 结构相对冗长,标签较多,使得文件体积较大,但也更加灵活且可读性较强。
-
数据类型:
- JSON 支持的数据类型包括字符串、数字、布尔值、数组、对象等,是 JavaScript 的一个子集。
- XML 本身只是一种数据描述语言,需要结合其他工具或约定来表示数据的类型和结构。
-
解析和处理:
- JSON 在 JavaScript 中可以直接使用
JSON.parse()
和JSON.stringify()
来解析和序列化数据,是 JavaScript 中常用的数据交换格式。 - XML 需要使用专门的 XML 解析器来解析数据,例如 QDomDocument、SAXParser 等。
- JSON 在 JavaScript 中可以直接使用