ped*_*dro 23 python serialization json object
我在将Object实例转换为JSON时遇到问题:
ob = Object()
list_name = scaping_myObj(base_url, u, number_page)
for ob in list_name:
   json_string = json.dumps(ob.__dict__)
   print json_string
在list_name我的列表Object实例.
json_string 返回,例如:
{"city": "rouen", "name": "1, 2, 3 Soleil"}
{"city": "rouen", "name": "Maman, les p'tits bateaux"}
但是我想在列表中包含所有信息的1个JSON字符串:
[{"city": "rouen", "name": "1, 2, 3 Soleil"}, {"city": "rouen", "name": "Maman, les p'tits bateaux"}]
Mar*_*ers 69
您可以使用列表推导来生成字典列表,然后将其转换为:
json_string = json.dumps([ob.__dict__ for ob in list_name])
或使用default功能; json.dumps()将它称之为无法序列化的任何东西:
def obj_dict(obj):
    return obj.__dict__
json_string = json.dumps(list_name, default=obj_dict)
后者适用于在结构的任何级别插入的对象,而不仅仅是在列表中.
与@MartijnPieters 的回答类似default,如果您不想创建单独的函数,您可以将 json.dumps参数与 lambda 一起使用:
json.dumps(obj, default = lambda x: x.__dict__)
| 归档时间: | 
 | 
| 查看次数: | 52736 次 | 
| 最近记录: |