XML的特点是功能全面,但标签繁琐,格式复杂。在Web上使用XML现在越来越少,取而代之的是JSON这种数据结构。JSON是JavaScript Object Notation的缩写,它去除了所有JavaScript执行代码,只保留JavaScript的对象格式。一个典型的JSON如下:
{"id": 1,"name": "Java核心技术","author": {"firstName": "Abc","lastName": "Xyz"},"isbn": "1234567","tags": ["Java", "Network"]}
JSON作为数据传输的格式,有几个显著的优点:
- JSON只允许使用UTF-8编码,不存在编码问题;
- JSON只允许使用双引号作为key,特殊字符用\转义,格式简单;
- 浏览器内置JSON支持,如果把数据用JSON发送给浏览器,可以用JavaScript直接处理。
因此,JSON适合表示层次结构,因为它格式简单,仅支持以下几种数据类型:
- 键值对:
{"key": value} - 数组:
[1, 2, 3] - 字符串:
"abc" - 数值(整数和浮点数):
12.34 - 布尔值:
true或false - 空值:
null
浏览器直接支持使用JavaScript对JSON进行读写。
所以,开发Web应用的时候,使用JSON作为数据传输,在浏览器端非常方便。因为JSON天生适合JavaScript处理,所以,绝大多数REST API都选择JSON作为数据传输格式。
