JS Как преобразовать двумерный ассоциативный массив в json? [дубликат]

189
23 декабря 2019, 02:10
This question already has answers here:
Превратите объекты со ссылками в JSON (3 ответа)
Закрыт 9 месяцев назад.

У меня есть ассоциативный массив (объект) selectedData При попытках преобразовать его в JSON вот так:

myJson = JSON.stringify(selectedData[0]);

или

myJson = JSON.stringify(selectedData[1]);

и так далее, то все ОК.

Но если мне нужно преобразовать все элементы массива:

myJson = JSON.stringify(selectedData);

То я получаю ошибку:

Uncaught TypeError: Converting circular structure to JSON

Как можно преобразовать двумерный ассоциативный массив в JSON без этой ошибки?

Answer 1

Если прочитать сообщение об ошибке, то видно, что где-то в массиве есть циклические зависимости. JSON не поддерживает подобные объекты, надо каким-то образом от них избавиться.

Если же требуется сериализовать и десериализовать циклическую структуру в её оригинальном виде, то можно трансформировать сериализуемый объектв массив, содержащий инфомацию по объектам и индексы вместо ссылок. Сама реализация показана в другом ответе.

READ ALSO
jest не видит компоненты библиотеки Vuetify

jest не видит компоненты библиотеки Vuetify

Я новичок в модульном тестирование, для начала решил покрыть все компоненты snapshot тестамиВсе настроил и казалось бы все хорошо, но когда выполняю...

173
Python Django + сокеты на Node.js

Python Django + сокеты на Node.js

Нужно мне значить стало сделать обмен данными в реальном времениСообразить не могу в sockets

165
Свойств кнопок javascript

Свойств кнопок javascript

Есть ли возможность изменять свойства кнопок только средствами javascriptНапример, создаю кнопку таким образом:

165
Как в Leaflet сдвинуть зону просмотра карты?

Как в Leaflet сдвинуть зону просмотра карты?

Прошу прощения, если сложно объясняю, что надоУ меня есть карта на весь экран, построенная на OSM с использованием Leaflet

132