Python复杂对象转JSON
2016-06-02 09:15
417 查看
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" } ]
转载请以链接形式标明本文地址
本文地址:/article/11853319.html
相关文章推荐
- 17个新手常见Python运行时错误
- python random模块
- 2. python入门杂记
- python类1
- [python]源码:对象
- Python Version 2.7 required which was not found in the registry
- [python]编码处理小结
- 怎么查看python是32位还是64位的
- 解决python连接mysql,UTF-8乱码问题
- 为什么会出现Python Exception <class 'gdb.MemoryError'> Cannot access memory at address 问题?
- 文成小盆友python-num4 装饰器,内置函数
- Python-Matplotlib安装及简单使用
- Python:Django【基础篇】
- 初识python 交叉排序
- 2016年6月2日 几乎是强迫自己在更新 关于python的多线程处理
- [Python爬虫]爬取贴吧图片
- leetcode(12),Ugly Number(python)
- Python实现优先级队列结构的方法详解
- 详解Python中的__new__、__init__、__call__三个特殊方法
- 实例解析Python中的__new__特殊方法