数据传输

目前前端最为常用的数据传输格式有两种

  • XML
  • JSON
  • TEXT

TEXT

适合小文本片段内容。无须解析,直接使用 innerHTML 插入页面,复杂内容后台拼接比较繁琐,并且无法传递对象信息,前台解析困难

XML

在XML语言中,它允许用户自定义标签。一个标签用于描述一段数据;一个标签可以分为开始标签和结束标签,在开始标签和结束标签之间,又可以使用其他标签描述其他数据,以此来实现数据关系的描述。

XML语法

一个XML文件分为如下几部分内容:

  1. 文档声明
  2. 元素
  3. 属性
  4. 注释
  5. CDATA区、特殊字符
  6. 处理指令(processing instruction)

XML语法-文档声明

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>

元素

  • 每个XML文档必须有且只有一个根元素
  • 元素必须成对出现
    <root>
      <child>
          <grandson>小明<grandson>
      </child>
    </root>
    

元素内容中的空格会被保留作为内容传输

<root>
    <child>
        <grandson> 小明 <grandson>
    </child>
</root>

命名规范

  • 区分大小写,例如,元素P和元素p是两个不同的元素
  • 不能以数字或下划线”_”开头
  • 元素内不能包含空格
  • 名称中间不能包含冒号(:)
  • 可以使用中文,但一般不这么用

属性

格式:

<元素名 属性名1="属性值1" 属性名2="属性值2">
<root>
    <child>
        <grandson id="1">
            <name>小明</name>
            <age>22</age>
        <grandson>
        <grandson id="2">大明<grandson>
    </child>
</root>

属性值用双引号(”)或单引号(’)分隔,如果属性值中有单引号,则用双引号分隔;如果有双引号,则用单引号分隔。那么如果属性值中既有单引号还有双引号怎么办?这种要使用实体(转义字符,类似于html中的空格符),XML有5个预定义的实体字符,如下:

转译词 符号 说明
\< < 小于
\> > 大于
\& &
\' ' 单引号
\" " 双引号

注释

<!--这是一个注释-->

JSON

虽然XML文档能够很好地处理结构化的数据,但是由于需要大量的标签来处理结构,这导致了内容传输量大大增加,提高了流量成本,降低了页面的性能.因此,人们需要一种更为简便的数据格式进行传输,JSON因此而生.

JSON 适合结构化内容,对象信息,复杂数据结构,传输量小,JS原生支持。已经逐步取代XML在XHR中的地位,成为主流传输格式。

下图是05年到2013年 xml和json的走势

JSON对象表示法

JSON 很像 JavaScript 中定义没有方法的对象,但属性必须使用双引号

对象表示法

var john = { "firstName":"John" , "lastName":"Doe" };
var user = { "id":2, "name":{ "firstName":"Jim", "lastName":"Green“ },   "gender":"男",  "email":"jim@126.com" };

数组表示法

var employees = [
    { "firstName":"Bill" , "lastName":"Gates" },
    { "firstName":"George" , "lastName":"Bush" },
    { "firstName":"Thomas" , "lastName": "Carter" }
];

JSON 文件

  • JSON 文件的文件类型是 ".json"
  • JSON 文本的 MIME 类型是 "application/json"

results matching ""

    No results matching ""