python - 避免 jsonpickle 使用指向另一个对象的 py/id 指针

标签 python json jsonpickle

当使用 jsonpickle 将对象序列化为 json 时,我注意到诸如日期时间之类的对象仅存储一次,然后将以后的使用存储为引用值,例如 {"py/id":1}。是否可以存储实际值而不是引用值?此引用似乎是隐藏的,并且在直接与数据库交互时会造成混淆。

例。 类我的类: def __init__( self ,eee): 现在 = 日期时间.日期时间.utcnow() self.ddd = 现在 self.ddd2 = 现在 self.ddd3 = 现在

Json是 {"py/object": "__main__.MyClass", "py/state": {"ddd": {"py/object": "datetime.datetime", "__reduce__": [{"py/type": "datetime.datetime"}, ["B+IBFhYJCwx9oQ=="]]}, "ddd2": {"py/id": 1}, "ddd3": {"py/id": 1}, "eee": “fwaef”}}

最佳答案

新的做事方式。以上答案是旧的。

jsonpickle.encode(my_object, unpicklable=False)

关于python - 避免 jsonpickle 使用指向另一个对象的 py/id 指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48391044/

相关文章:

python - 如何在Python中调用程序的 'catch' stdin、stdout、stderr?

java - 反序列化 json 对象的嵌套数组返回 null

json - 带有 jsonpickle 的泡菜(Python 3.7)

python - 属性错误 : Can't pickle local object '<locals>.<lambda>'

java - 使用 Gson 将 json 字段反序列化为不同的 Java 对象

python - 如何通过 JSON 执行任意代码以及如何清理输入

python - 如何在 pyparsing : match a set of words but not containing a given pattern 中为此编写语法

python - 如何使用 SCP 或 SSH 将文件复制到 Python 中的远程服务器?

python - 访问动态添加的小部件(pyqt)

c++ - Boost JSON解析器和IP地址