对象的序列化

156 阅读2分钟

JS 中的对象使用时都是存在于计算机中的内存中。

定义

序列化指,将对象转换成一个可以存储的格式。

  • 在 JS 中对象的序列化通常是将一个对象转换为字符串(JSON 字符串)。

作用

序列化的用途(对象转换为字符串有什么作用):

  • 对象转换为字符串后,是可以将字符串在不同的语言之间进行传递。甚至人可以直接对字符串进行读写操作,是的 JS 对象可以不同的语言之间传递。类似于国际通用语言。
  • 用途:
    1. 作为数据交换的格式
    2. 用来编写配置文件

如何进行序列化

  1. 在 JS 中有一个工具类 JSON (JavaScript Object Notation) JS对象表示法。
  2. JS对象序列化后会换为一个字符串,这个字符串我们称其为 JSON 字符串。
const obj = {
    name:"孙悟空",
    age:18
}

// 将 obj 转换为 JSON 字符串
const str = JSON.stringify(obj) // JSON.stringify() 可以将一个对象转换为字符串。

const obj2 = JSON.parse(str) // 可以将一个JSON格式的字符串转换为 JS 对象。

console.log(obj) // {name: '孙悟空', age: 18}
console.log(str) // {"name":"孙悟空", "age":18}
console.log(typeof str) // string
console.log(obj2) // {name: '孙悟空', age: 18}

编写JSON的注意事项:

可以手动编写JSON字符串,在很多程序的配置文件就是使用JSON编写的。

  1. JSON字符串有两种类型:
    • JSON对象 { }
    • JSON数组 [ ]
  2. JSON字符串的属性名必须使用双引号引起来。
  3. JSON中可以使用的属性值(元素):
    • 数字 ( Number )
    • 字符串 ( String ) 此处必须使用双引号
    • 布尔值 ( Boolean )
    • 空值 ( Null )
    • 对象 ( Object { } )
    • 数组 ( Array [ ] )
  4. JSON的格式和JS对象的格式基本上一致。
    • 注意:JSON字符串如果属性是最后一个,则不要再加逗号。