王予涵,催眠物恋,i3和i5的区别
本文实例讲述了Python实现复杂对象转JSON的方法。分享给大家供大家参考,具体如下:
在Python对于简单的对象转json还是比较简单的,如下:
import json d = {'a': 'aaa', 'b': ['b1', 'b2', 'b3'], 'c': 100} json_str = json.dumps(d) print json_str
对于复杂对象,可以使用下面的方法来实现,比如:
import json class Customer: def __init__(self, name, grade, age, home, office): self.name = name self.grade = grade self.age = age self.address = Address(home, office) def __repr__(self): return repr((self.name, self.grade, self.age, self.address.home, self.address.office)) class Address: def __init__(self, home, office): self.home = home self.office = office def __repr__(self): return repr((self.name, self.grade, self.age)) customers = [ Customer('john', 'A', 15, '111', 'aaa'), Customer('jane', 'B', 12, '222', 'bbb'), Customer('dave', 'B', 10, '333', 'ccc'), ] json_str = json.dumps(customers, default=lambda o: o.__dict__, sort_keys=True, indent=4) print json_str
结果如下
[ { "address": { "home": "111", "office": "aaa" }, "age": 15, "grade": "A", "name": "john" }, { "address": { "home": "222", "office": "bbb" }, "age": 12, "grade": "B", "name": "jane" }, { "address": { "home": "333", "office": "ccc" }, "age": 10, "grade": "B", "name": "dave" } ]
PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:
在线JSON代码检验、检验、美化、格式化工具:
JSON在线格式化工具:
在线XML/JSON互相转换工具:
json代码在线格式化/美化/压缩/编辑/转换工具:
在线json压缩/转义工具:
更多Python相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家Python程序设计有所帮助。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
新手学习Python2和Python3中print不同的用法
Python基于os.environ从windows获取环境变量
网友评论