我在nodejs中使用socket.io
websockets。我试图对socket
对象进行字符串化处理,以便将其保存到我的数据库中。这是我在做什么:
socket.on('open-room', function(arg, callback) {
var socketStr = JSON.stringify(socket);
}
但是我遇到以下错误:
TypeError: Converting circular structure to JSON
答案 0 :(得分:3)
如果您正在寻找有关如何将对象转换为JSON字符串而又不会遇到圆形结构错误的常规解决方案(通常,您将在日志记录或调试时执行此操作),请查看S.O。回答Converting Circular Structure to JSON。如果输出格式到底是什么并不重要,则可以使用内置的util.inspect(socket)
。
如果出于日志记录之外的其他原因执行此操作,请注意,socket.io Websocket不能序列化/反序列化(您将无法使用数据库记录来重新创建有效的Websocket)。 / p>
您可能会幸运地设计出一个仅包含您真正关心的键的更具体的JSON对象,并将其存储在数据库中,而不是尝试对整个对象进行字符串化。