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

时间:2018-09-10 22:29:59

标签: json angular

克隆对象时出现问题。我有尝试向其添加策略对象的策略数组。它在某些时候出现以下错误消息时会起作用。有人可以告诉我问题可能出在哪里。 策略对象由对象的对象组成。在Add方法中,我试图将零元素的Strategy添加到strategy数组。

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();
  }

1 个答案:

答案 0 :(得分:2)

圆形结构是将自身称为值的结构。 JSON.stringify不支持这种结构,因为它将导致无限长的字符串。

您需要的是不使用JSON.stringify的深度克隆功能。可以在here中找到这种实现。