下载APP

Ajax-数据交换格式 JSON


theme: smartblue highlight: atom-one-dark

JSON的两种结构

JSON就是字符串来表示JavaScript的对象和数组; 所以JSON中包含对象和数组两种结构,通过这两种结构的相互嵌套,可以表示各种复杂的数据结构

对象结构:对象结构在JSON中表示为 { } 括起来的内容;数据结构为 {key: value, key: value, ...} 的键值对结构;其中,key必须是使用英文的双引号包裹的字符串,value的数据类型可以是数字、字符串、布尔值、null、数组、对象6种类型

{
    "name": "张三",
    "age": 18,
    "sex": "男",
    "address": null,
    "hobby": ["吃饭", "睡觉", "打豆豆"]
}

数组结构:数组结构在JSON中表示为 [ ] 括起来的内容;数据结构为 ["java", "javascript", 30, true, ...]数组中的数据类型可以是数字、字符串、布尔值、null、数组、对象6种类型

["javascript", 16.6, [true, false, null], { "name": "张三", "age": 18 }]

JSON的作用:在计算机与网络之间存储和传输数据

JSON的本质:用字符串来表示JavsScript对象数据或数组数据

  1. 属性名必须使用双引号包裹
  2. 字符串类型必须使用双引号包裹
  3. JSON中不允许使用单引号表示字符串
  4. JSON中不能写注释
  5. JSON的最外层必须是对象或数组格式
  6. 不能使用undefined或函数作为JSON的值

JSON和JS对象的相互转化

要实现JSON字符串转换为JS“对象,使用 JSON.parres() 方法:

    var obj = JSON.parse('{"a": "Hello", "b": "World"}')
    console.log(obj) // {a: 'Hello', b: 'World'}

要实现JS对象转换为JSON字符串,使用 JSON.stringify() 方法:

    var json = JSON.stringify({ a: 'Hello', b: 'World' })
    console.log(json) // '{"a":"Hello","b":"World"}'

序列化和反序列化

把数据对象转换为字符串的过程,叫做序列化

例如:调用 JSON.stringify() 函数的操作,叫做JSON序列化

把字符串转换为数据对象的过程,叫做反序列化

例如:调用 JSON.parse() 函数的操作,叫做JSON反序列化

在线举报