Я пытаюсь реализовать сериализатор в Python, который пытается сделать что-то вроде этого.
Если есть объект Foo, имеющий прямую ссылку на Bar, сериализатор будет сбрасывать все данные в Foo,и ссылка будет преобразована в дамп данных Bar.Вещи были бы сделаны рекурсивно, как это для любой произвольной глубины.
Но есть проблема, с которой я сталкиваюсь с этим подходом, с циклическими ссылками, что если Foo ссылается на Bar и Bar ссылается на Foo?Тогда будет создана бесконечная рекурсия.
Каковы подходы к решению этой проблемы.
Примечание: я не контролирую данные, которые я буду сериализовать, поэтому я не могу исключитьциклические ссылки.