我手上有一个不透明的变量。我知道它可以是一个对象,原始值,不可变的对象,也可以是其值可以是不可变的对象。
我需要将此对象深层转换为json以进行记录。
以下内容不起作用,因为它不涉及将不可变对象嵌套在真实json对象中的情况:
const json = isImmutable(obj)
? obj.toJS()
: obj
有没有简单的方法可以将我的不透明结构转换为json?
我知道在不可变对象中嵌套不可变对象可能不是一个好主意。仍在寻找一种不涉及大型重构的简单解决方案。
答案 0 :(得分:0)
尝试一下
console.log(Immutable.fromJS(obj).toJS());
在这里,第一步是使用fromJS()将整个“ obj”转换为不可变的。这样做会使所有嵌套的普通对象和数组不可变。最后一步是使用toJS()将整个“ obj”转换为plainJS。最终结果是plainJS“ obj”