Я использую API-интерфейс Blocktrail, чтобы управлять кошками для биткойнов. API возвращает объект кошелька, который, как я полагаю, содержит круглые ссылки.Можете ли вы хранить круглые объекты в сеансе?
Я хочу хранить расшифрованный кошелек в сеансе пользователя, так что пользователю не нужно вводить пароль еще раз, но всякий раз, когда я пытаюсь сделать что-то вроде этого (wallet
- объект кошелька, возвращаемый API) :
req.session.wallet = wallet;
я получаю:
TypeError: Converting circular structure to JSON
at Object.stringify (native)
at MemoryStore.set
Таким образом, если объект имеет кольцевую структуру, есть способ сохранить ссылку на него в сессии? Почему это происходит?
Итак, я предполагаю, что реализация сеансов пытается стягивать объект, поскольку сеансы хранят строки, правильно? Но не будет ли исключение круговых ссылок мешать функциональности объекта? Разве нет способа сохранить объект в неприкосновенности и заставить его упорствовать в сеансе? – Tarman
В соответствии с: http://stackoverflow.com/questions/7420597/javascript-how-to-save-an-object-with-circular-references, проверьте [JSON-js] (https://github.com/ Дуглас Крокфорд/JSON-JS). Предположительно, он может хранить круговой JSON, используя JSONPath. – timeiscoffee