美文网首页
1. node.js 对象的序列化和反序列化

1. node.js 对象的序列化和反序列化

作者: eftales | 来源:发表于2020-03-09 15:19 被阅读0次

    node.js 可以通过 class 关键字声明对象。格式如下:

    class Rectangle {
      constructor(height, width) {
        this.height = height;
        this.width = width;
      }
    }
    

    在实际网络环境中,我们经常将一组属性打包成一个类,然后将这个类序列化,传输到对端,对端接受到之后将其反序列化得到类。序列化的方法如下所示:

    var r1 = new Rectangle (1,2);
    
    str = JSON.stringify(r1);
    console.log(str);
     
    var r2 = JSON.parse(str);
    console.log(r2);
    

    这样做有个问题,序列化和反序列化会导致类的方法被丢弃,得到的仅仅有属性。
    我在网上百度了一下,基本没有什么好的解决方法,因此我采用的方法很暴力:再创建一个 Rectangle 类,把新对象的属性改为反序列化得到的值。
    本来想用构造函数重载的,但是 node.js 不支持构造函数重载,行8...c++把我惯坏了。

    相关文章

      网友评论

          本文标题:1. node.js 对象的序列化和反序列化

          本文链接:https://www.haomeiwen.com/subject/evdpdhtx.html