【发布时间】:2021-06-24 14:39:31
【问题描述】:
我有一个带有子类的类。我可以使用 jsonpickle 库将其序列化为 JSON。我试图更好地理解一些东西。当我尝试使用 Python 的原生 json 库时,它说该对象不可序列化。
我正在看这个指南:https://www.programiz.com/python-programming/json
他正在展示一个这样定义的类:
person_dict = {"name": "Bob",
"languages": ["English", "Fench"],
"married": True,
"age": 32
}
序列化OK。
print(json.dumps(person_dict))
# outputs "{"name": "Bob", "languages": ["English", "Fench"], "married": true, "age": 32}"
但我正在创建一个类并从中实例化一个对象。
class Purchase(object):
def __init__(self, receipt_id, order_id):
self.receipt_id = receipt_id
self.order_id = order_id
self.items = []
test = Purchase("123", "abc")
test.items.append("item1")
test.items.append("item2")
但是 json.dumps() 在这里不起作用。
print(json.dumps(test))
# outputs "TypeError: Object of type Purchase is not JSON serializable"
我在这里缺少什么基础知识?
【问题讨论】:
-
示例是字典,不是类。
标签: python json serialization