【问题标题】:Converting circular structure to JSON at JSON.stringify ()在 JSON.stringify() 处将循环结构转换为 JSON
【发布时间】:2018-09-10 22:29:58
【问题描述】:

我在克隆对象时遇到问题。我有策略数组,我正在尝试向其中添加策略对象。它有时会在出现以下错误消息的错误时工作。有人可以告诉我可能是什么问题。 策略对象由对象的对象组成。在 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 angular


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2016-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-11
      • 2020-05-31
      • 2017-04-03
      • 2018-11-01
      相关资源
      最近更新 更多