嘿我有一个像这样的数组对象
[{
public: "public",
private: "private",
[{
properties: {...
},
instance: {.....
}
}, {...
}, {...
}]
}, {...
}, {....
}]
这里最外面的数组包含 A 类的对象,它有一些公共 props,一些私有 porps,它还包含一个包含 B 类对象的数组,它还包含一些公共和私有字段。
所以基本上这就是我的层次结构
array = [A1,A2,A3,A4,....]//object of A
var A = function(){
var Const = function(){
this.public_prop;
this.private_prop;
this.list = [B1,B2,B3,B4]// objects of B
}
//.........
return Const;
}();
var B = function(){
var Const = function(){
this.public_prop;
this.private_prop;
}
//.........
return Const;
}();
现在,在对其进行字符串化(序列化)时,我只想在序列化字符串中包含公共属性和数组。
例如对于上面的 JSON 表示我想要这样的东西
[{
public: "public",
[{
properties: {...
}
}, {...
}, {...
}]
}, {...
}, {....
}]
现在我可以创建一个函数每个类中的 getState()它只会返回需要字符串化的字段,但我似乎无法找到一种方法使 JSON.stringify 的本机实现在序列化之前调用该方法。有什么方法可以实现这一点吗?
我提到隐藏 JSON.stringify() 输出中的某些值 https://stackoverflow.com/questions/4910567/json-stringify-how-to-exclude-certain-fields-from-the-json-string,但它只解释了如何排除单个层次结构中的简单数字或字符串道具,但如何排除多个层次结构中的道具?
注意:我的所有课程都遵循模块模式