Typescript序列化/反序列化保存所有数据的递归对象

时间:2019-03-19 16:36:01

标签: typescript serialization deserialization

我正在尝试找到一个npm模块,该模块将允许我使用以下JSON对象:

//JSON Object
{
   a : 7,
   b : "Hello",
   c : "Don't forget Me",
   d : 
   {
       first:
       {
           e : 8,
           f : "all",
           g : "don't forget"
       },
      second:
       {
           e : 9,
           f : "all2",
           g : "don't forget2"
       },
   }
}

并将其反序列化为对象

class dataObject
{
    aNumber : number;
    bString : string;
    efgArray : [string, efgObject][];
    notInJson : string;
}

class efgObject
{
   eNumber : number;
   fString : string;
}

这样我可以做类似的事情:

let dataObject = new dataObject();
deserialize(dataObject, jsonFromAbove);
console.log(dataObject.bString) //Returns "Hello"
console.log(dataObject.efgArray["first"].eNumber) //Returns 8

console.log(dataObject.notInJson) //Returns undefined
console.log(dataObject.c) //ERROR

但是也将能够映射回相同的JSON对象。 我看过的序列化程序似乎将丢失未在输入上明确映射的属性,或者将无法对数据元素进行递归映射。

0 个答案:

没有答案