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

问题描述 投票:0回答:1

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

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

以下不起作用,因为它不包括不可变的嵌套在真正的json对象中的情况:

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

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

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

immutable.js
1个回答
0
投票

试试这个

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

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

© www.soinside.com 2019 - 2024. All rights reserved.