Python的一个功能是 pickle 功能,它允许您存储任意内容,并将其恢复到原始形式。一种常见的用法是采用完全实例化的对象并将其腌制以供以后使用。在我的情况下,我有一个不可序列化的AMQP消息对象,我希望能够将它存储在会话存储中并检索它,我可以用pickle做。主要的区别是我需要在对象上调用方法,我不只是在寻找数据。
但是这个项目在nodejs中,似乎所有节点的低级库都必须有一些方法来保存这个对象,以便它可以在Web调用之间持续存在。
用例是网页获取RabbitMQ消息并显示从中派生的信息。我不想在消息被采取行动之前确认消息。我通常只是将数据保存在会话状态,但这不是一个选项,除非我能以某种方式将其保存为原始形式。
答案 0 :(得分:4)
参见pickle-js项目:https://code.google.com/p/pickle-js/
另外,来自findbestopensource.com:
pickle.js是Python pickle格式的JavaScript实现。它支持包含基本类型的跨语言子集的pickle。 pickle.js和pickle.py:text pickles之间的主要区别只有一些类型被有损转换(例如int)某些类型不受支持(例如类)
此处提供了更多信息:http://www.findbestopensource.com/product/pickle-js
答案 1 :(得分:1)
据我所知,在JavaScript(或标准节点库)中没有与pickle相同的东西。
答案 2 :(得分:1)
查看https://github.com/carlos8f/hydration,了解它是否符合您的需求。我不确定它和pickle
一样完整,但它非常棒。
免责声明:模块作者和我是同事。