ImmutableJS:如何将不透明变量转换为JSON

时间:2019-02-19 17:22:36

标签: immutable.js

我手上有一个不透明的变量。我知道它可以是一个对象,原始值,不可变的对象,也可以是其值可以是不可变的对象。

我需要将此对象深层转换为json以进行记录。

以下内容不起作用,因为它不涉及将不可变对象嵌套在真实json对象中的情况:

 const json = isImmutable(obj)
    ? obj.toJS()
    : obj

有没有简单的方法可以将我的不透明结构转换为json?

我知道在不可变对象中嵌套不可变对象可能不是一个好主意。仍在寻找一种不涉及大型重构的简单解决方案。

1 个答案:

答案 0 :(得分:0)

尝试一下

console.log(Immutable.fromJS(obj).toJS());

在这里,第一步是使用fromJS()将整个“ obj”转换为不可变的。这样做会使所有嵌套的普通对象和数组不可变。最后一步是使用toJS()将整个“ obj”转换为plainJS。最终结果是plainJS“ obj”