json - 在 JSON.stringify () 处将循环结构转换为 JSON

标签 json angular

我在克隆对象时遇到问题。我有一个策略数组,我正在尝试向其中添加策略对象。它有时会起作用,但会出现以下错误消息。有人可以告诉我可能是什么问题吗? 策略对象由对象的对象组成。在 Add 方法中,我尝试将元素零的策略添加到策略数组中。

export interface Strategy  {

        domicile: Domicile;
        captiveAssumption: StrategyCaptiveAssumption;
        modelingAssumptions: StrategyModelingAssumption;
        selectedLinesOfBusiness: SelectedLineOfBusinessInput[];
        accountRules: StrategySpecialAccountRules;
        minCapitalContribution: StrategyMinCapitalContribution;
        results: Results;
    }

将循环结构转换为 JSON 在 JSON.stringify()

 add() {
    if (!this.showAddStrategy) {
      return;
    }

    const strategy: Strategy = JSON.parse(JSON.stringify(this.strategies[0]));
    this.strategies.push(this.strategies[0]);
    this.save.emit();
    this._expandLastStrategy();
  }

最佳答案

循环结构是一种将自身引用为值的结构。 JSON.stringify 不支持此类结构,因为它会导致无限长的字符串。

您需要的是一个不使用JSON.stringify的深度克隆函数。这样的实现可以参见here .

关于json - 在 JSON.stringify () 处将循环结构转换为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52266334/

相关文章:

python - 将 JSON 数据映射到 Python 关键字参数

arrays - 需要帮助在 Swift 2 中的 API 调用中访问第二层数据

javascript - 使用带有 $GetJson 函数的传单搜索插件

angular - Angular 4 中将多个数据发布到服务器

单个组件上的 Angular 多个 HTML View

java - 如何在spring mvc中将用户表单数据发送到服务器

javascript - 在运行时向 Angular 2 中的 DOM 添加新的组件元素不会呈现组件

javascript - 验证 keyup 或模糊输入的最佳方法

html - 打开时如何限制仅在模态弹出窗口中按下 Tab 键?

Python 推特流时间线