TypeError: Преобразование круговой структуры в JSON в JSON.stringify - PullRequest
0 голосов
/ 29 марта 2019

По запросу 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)

Есть идеи, в чем причина?

Заранее спасибо.

1 Ответ

0 голосов
/ 29 марта 2019

Структуры JavaScript, включающие циклические ссылки, не могут быть сериализованы с помощью «простого» JSON.stringify. Пример:

Копия a = { name: 'Groucho' }; b = { name: 'Harpo', sibling: a }; a.sibling = b;

Выполнение JSON.stringify (a) приведет к ошибке:

Копировать Ошибка типа: преобразование круговой структуры в формат JSON

Вы ничего не можете с этим поделать, кроме указания пользовательской функции сериализатора, которая обнаруживает и очищает циклические ссылки. Существуют существующие решения, поэтому вам не нужно думать о них самих, например, https://github.com/WebReflection/circular-json

Для приведенной выше структуры вы получите следующее.

Копировать {"name":"Groucho","sibling":{"name":"Harpo","sibling":"[Circular ~]"}}

Обратите внимание, как [Циркуляр ~] показывает путь к указанному объекту. В более глубоко вложенных структурах вы увидите что-то вроде [Циркуляр ~ .rows.1].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...