Как я могу кодировать и декодировать круговой объект JSON с круговыми указателями?

Я хочу кодировать и декодировать круговой объект JSON с круговыми указателями.

Это не дубликат, потому что я хочу кодировать циклически и декодировать его. Мне нужны циркулярные объекты после декодирования!

Это всего лишь простой объект, но у меня есть сложный объект.

var obj = {
  parent1: {
     child1: {}
  }
};

obj.parent1.child1.parent = obj.parent1;

console.log(JSON.stringify(obj)); // ERROR: Converting circular structure to JSON

Я пытаюсь изменить указатели на адрес, например:

obj.parent1.child1.parent = '$P$root.parent1$';

и когда расшифровать исправить его.

Но как определить, какой объект является указателем. И как я могу получить адрес объекта?


person morteza ataiy    schedule 11.09.2018    source источник
comment
Для обратного анализа объекта вам понадобится функция reviver в JSON.parse(), чтобы восстановить любую ссылку, которую вы использовали во время сериализации. Если это невозможно, вам придется перебрать проанализированный объект и заменить ссылки   -  person Phil    schedule 11.09.2018
comment
@Phil Как я могу определить, какой объект является указателем, при его сериализации. И как я могу получить адрес указателя?   -  person morteza ataiy    schedule 11.09.2018
comment
@Phil Этот вопрос дублируется? И почему?   -  person morteza ataiy    schedule 11.09.2018
comment
Да, это. Вы смотрели на некоторые ответы? Многие предлагают примеры и ссылки, показывающие варианты кодирования и декодирования.   -  person Phil    schedule 11.09.2018
comment
Я нашел это. Большое спасибо. Я подумал, что после ответа с -11 голосование хуже и не смотрите на них.   -  person morteza ataiy    schedule 11.09.2018