【问题标题】:TypeError: Converting circular structure to JSON at JSON.stringifyTypeError:在 JSON.stringify 中将循环结构转换为 JSON
【发布时间】:2019-03-29 04:58:37
【问题描述】:

在 POST 请求中,当我在负载上执行 angular.toJson 时,我收到此错误。

angular.js:12609 TypeError:将循环结构转换为 JSON 在 JSON.stringify() 在 Object.db [as toJson] (http://localhost:8080/adminconsole/lib/bower_components/angular/angular.modified.min.js?_1553818615062:15:433)

知道是什么原因吗?

提前致谢。

【问题讨论】:

  • 您好 Parveen,欢迎使用 stackoverflow。您能否发布与您的问题相关的代码,以便其他人可以更多地了解您的问题?
  • 请附上代码和回复。

标签: javascript angularjs


【解决方案1】:

包含循环引用的 JavaScript 结构不能使用“普通” JSON.stringify 进行序列化。示例:

复制 a = { name: 'Groucho' }; b = { name: 'Harpo', sibling: a }; a.sibling = b;

执行 JSON.stringify(a) 会抛出错误:

复制 TypeError:将循环结构转换为 JSON

除了指定一个检测和清理循环引用的自定义序列化程序函数之外,您无能为力。有现有的解决方案,因此您无需自己考虑,例如https://github.com/WebReflection/circular-json

对于上述结构,您将获得以下内容。

复制 {"name":"Groucho","sibling":{"name":"Harpo","sibling":"[Circular ~]"}}

注意 [Circular ~] 如何显示被引用对象的路径。在更深的嵌套结构中,您会看到类似 [Circular ~.rows.1] 的内容。

【讨论】:

    猜你喜欢
    • 2016-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-21
    • 2018-10-05
    • 2017-06-29
    • 2019-01-05
    相关资源
    最近更新 更多