如何解决具有相同标识的 JsonPickle 对象
我目前想知道以下内容是否属于恶意行为或预期行为。我尝试序列化一个 Python 对象树,其中一些对象是相同的。我想避免来自 jsonpickle (1.4.2) 的 py/id 指针(以及所有其他膨胀),所以我使用 unpickleable=False。
import jsonpickle
class Person:
def __init__(self):
self.name = "Jane Doe"
class Car:
def __init__(self):
self.owner = None
self.driver = None
self.passengers = []
def test_jsonpickle():
han = Person()
han.name = "Han"
car = Car()
car.driver = han
car.owner = han
pa = Person()
pa.name = "Pete"
car.passengers.append(pa)
car.passengers.append(han)
json_string = jsonpickle.encode(car,unpicklable=False)
print("Json String: " + json_string)
# out: Json String:
# {"owner": {"name": "Han"},"driver": null,"passengers": [{"name": "Pete"},null]}
if __name__ == '__main__':
test_jsonpickle()
使用 make_refs=False 也不起作用并持续 __repr__
返回(此外还有其他膨胀的 py/object 等)。我想获得相同对象的深层副本(或 $ref JSON 指针)。有人知道如何调整它或可以提出另一个库吗?我想在 Web 上下文中使用结果 Json。是的,我尝试过 jsonpickleJS,但是当你错过注册一个类时它很糟糕(指针被解析为错误的对象)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。