У меня есть массив объекта, который я хочу, чтобы преобразовать в JSON
строку, но я получаю следующее сообщение об ошибке: JavaScript exception :Uncaught TypeError: Converting circular structure to JSON
Преобразования многомерного массива объекта в JSON
Из того, что я понимаю, что это потому, что есть цикл в ссылках. Я искал здесь на SO для решений, и кто-то придумал «функцию замены». это выглядело примерно так:
var cache = [];
JSON.stringify(o, function(key, value) {
if (typeof value === 'object' && value !== null) {
if (cache.indexOf(value) !== -1) {
// Circular reference found, discard key
return;
}
// Store value in our collection
cache.push(value);
}
return value;
});
cache = null; // Enable garbage collection
, но используя это дает мне следующую ошибку: Maximum call stack size exceeded
.
Я думаю, что это решение действительно не соответствует моим потребностям, потому что меня не интересуют все элементы массива, которые я пытаюсь преобразовать. Эти элементы добавлены сторонними (google maps), поэтому я не влияю на их дочерние объекты.
Это скриншот моего объекта массива:
Я заинтересован только в следующих пунктах:
Tour
-id
-name
-days :
-id
-name
-markers :
-dayId
-title
-position :
-nb
-ob
-thumbs :
- 0
- 1
- ...
, потому что массив объектов создается несколько функций/услуг/фабрик трудно составить скрипку или предоставить некоторые образцы кода.
Любое предложение приемлемо, как преобразовать массив как это JSON приветствуется, спасибо заранее