概念

对象的序列化是将对象转换为一种可传输或可存储的格式,以便在需要时可以重新还原为原始对象。

个人对这个概念的理解

对象的序列化就像将一个对象变成一个字符串一样,就好像你把一堆积木拼好后,拍下一张照片,把照片存起来一样。这个字符串可以轻松地被传输给其他地方,就像你可以把照片发送给你的朋友一样。

然后,反序列化就像你的朋友收到了你的照片,可以根据照片上的信息重新组装出相同的积木。就像他们可以看到照片上有哪些积木,然后用同样的积木重新构建出来。

对象序列化的步骤

  1. 创建对象:首先,您需要创建一个JavaScript对象,该对象可以包含各种属性和值。

    1
    2
    3
    4
    5
    const student = {
    name: 'Alice',
    age: 25,
    courses: ['Math', 'History', 'English'],
    };
  2. 序列化对象:将JavaScript对象序列化为字符串或其他格式。最常见的是将对象转换为JSON字符串,可以使用JSON.stringify()方法来执行此操作。

    1
    const serializedStudent = JSON.stringify(student);
  3. 传输或存储数据:将序列化后的字符串传输到网络上的其他系统,存储在本地存储中,或以其他方式传递和存储数据。

  4. 反序列化数据:当需要使用数据时,可以将序列化的字符串反序列化为原始JavaScript对象。通常,使用JSON.parse()方法来执行此操作。

    1
    2
    const receivedData = '{"name":"Bob","age":22,"courses":["Physics","Chemistry"]}';
    const deserializedStudent = JSON.parse(receivedData);

    deserializedStudent 现在包含了反序列化后的 JavaScript 对象,我们可以像访问常规对象一样使用它:

    1
    2
    3
    console.log(deserializedStudent.name);     // 输出 'Bob'
    console.log(deserializedStudent.age); // 输出 22
    console.log(deserializedStudent.courses); // 输出 ['Physics', 'Chemistry']

总结

序列化是将原本是数组或者对象的里面的数据转化为json格式的数据(JSON.stringify()方法)

反序列化,就是将JSON里面的数据,转换为数组(JSON.parse()方法)