我可以用JSON或类似的东西保存循环数据结构吗?

Can I somehow save circular data structures with JSON or something similar?

本文关键字:保存 循环 数据结构 JSON 我可以      更新时间:2023-09-26

当尝试使用JSON在文件中保存一些关于游戏世界的数据时,我得到了良好的JSON循环引用错误。是否有保存循环数据类型的方法?此外,我运行这个与node.js,而不是在浏览器内。

基本上,随着时间的推移,玩家会得到一些单位。这些单位被保存到玩家对象中的列表中,但作为参数提供给玩家自己,所以他们知道谁是他们的主人。像这样:
Player = function()
{
    this.power = 0
    this.units = [new Unit(this)];
}
Unit = function(owner)
{
    owner.power++;   
}

@Bane,回答如何包含cycle.js

把它放在你项目的lib文件夹中,如果你在客户端做的话,通过script标签包含它。

在服务器端,您可以将需要循环引用的代码包含在文件中;这很简单,但确实是错误的工作方式。更好的方法是将其构建为一个模块,查看howtonode.org上的教程以了解详细信息。

总的来说,你最好的选择是重构,这样你就不需要循环引用了