我尝试json strigify和解析后循环结构。我想传递给我所有的网站我的变量套接字时,我使用套接字io。在React,这很容易,但该项目是旧的,他们不使用React的所有项目。
我使用了flatted库,它在stringify上运行的很好,但是我没有得到我的原始元素,当我解析它的时候,我得到了一个对象
const mySocket = io("monsite:1234");
const stringigy = JSON.stringify(mySocket);
localStorage.setItem("io",mySocket);
因为是循环结构。
带扁平
const mySocket = io("monsite:1234");
const stringigy = Flatted.stringify(mySocket);
localStorage.setItem("io",mySocket);
工作,但当我解析,我没有得到原始值
socket = Flatted.parse(getIo);
编辑:
谢谢你的帮助。
1条答案
按热度按时间gab6jxml1#
循环结构是当对象的属性直接(
a -> a
)或间接(a -> b -> a
)是对象本身时。要避免出现错误消息,请告诉
JSON.stringify
如何处理循环引用。stringify
的第二个参数是一个 *filter函数 *,这里它只是将引用的对象转换成它的ID,但是你可以随意做任何你想做的事情来打破循环引用。例如,如果一个人指向另一个人(“父亲”),而这可能(也可能不)指向原来的人,请执行以下操作: