XML与JSON文件

XML和JSON

XML和JSON是两种经常在网络使用的数据表示格式,是两种数据存储交换格式。

XML

XML文件常常用于配置文件,目前遇到的最多。

XML是可扩展标记语言(eXtensible Markup Language)的缩写,它是是一种数据表示格式,可以描述非常复杂的数据结构,常用于传输和存储数据。

XML有几个特点:一是纯文本,默认使用UTF-8编码,二是可嵌套,适合表示结构化数据。如果把XML内容存为文件,那么它就是一个XML文件,例如book.xml。此外,XML内容经常通过网络作为消息传输。

<?xml version="1.0" encoding="UTF-8" ?>				// 首行必定是<?xml version="1.0"?>,可以加上可选的编码
<!DOCTYPE note SYSTEM "book.dtd">		//<!DOCTYPE note SYSTEM "book.dtd">声明的是文档定义类型,DTD是可选的
<book id="1">		// 一个XML文档有且仅有一个根元素,根元素可以包含任意个子元素
    <name>Java核心技术</name>
    <author>Cay S. Horstmann</author>
    <isbn lang="CN">1234567</isbn>		// 元素可以包含属性
    <tags>
        <tag>Java</tag>
        <tag>Network</tag>
    </tags>
    <pubDate/>		// 如果是空元素,可以用<tag/>表示。
</book>

使用DOM,SAX,Jackson解析XML

JSON

XML的特点是功能全面,但标签繁琐,格式复杂。在Web上使用XML现在越来越少,取而代之的是JSON这种数据结构。

JSON是JavaScript Object Notation的缩写,它去除了所有JavaScript执行代码,只保留JavaScript的对象格式。

因此,JSON适合表示层次结构,因为它格式简单,仅支持以下几种数据类型:

{
    
    
    "id": 1,			// 数值(整数和浮点数):12.34	
    "name": "Java核心技术",
    "author": {
    
    				// 键值对:{"key": value}
        "firstName": "Abc",
        "lastName": "Xyz"
    },
    "isbn": "1234567",			// 字符串:"abc"
    "tags": ["Java", "Network"]		// 数组:[1, 2, 3]
    "easy": false		// 布尔值:true或false
    "pubDate": null		// 空值:null
}

优点:

  1. JSON只允许使用UTF-8编码,不存在编码问题;
  2. JSON只允许使用双引号作为key,特殊字符用\转义,格式简单;
  3. 浏览器内置JSON支持,如果把数据用JSON发送给浏览器,可以用JavaScript直接处理。

猜你喜欢

转载自blog.csdn.net/liutao43/article/details/112984452