Python复杂对象转JSON

原创 2016年06月02日 09:15:55

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"
    }
]

转载请以链接形式标明本文地址
本文地址:http://blog.csdn.net/kongxx/article/details/51563720

版权声明:本文为博主原创文章,未经博主允许不得转载。

python 对象和json互相转换

一、python对json的支持从python2.6开始,python标准库中添加了对json的支持,操作json时,只需要import json即可。二、python对象转换成json字符串在把py...
  • tterminator
  • tterminator
  • 2017年03月18日 21:38
  • 11145

【Python】python对象与json相互转换

在网络通信中,json是一种常用的数据格式,对于python来讲,将类转化为json数据以及将json数据转化为对象是一件非常容易的事情。 下面给出两者转化的方法 # -*- coding: UTF-...
  • leilba
  • leilba
  • 2016年02月12日 09:29
  • 18164

Python类对象的JSON序列化处理

不同的编程语言有不同的数据类型; 比如说: Python的数据类型有(dict、list、string、int、float、long、bool、None) Java的数据类型有(bool、char、b...
  • Jerry_1126
  • Jerry_1126
  • 2017年07月31日 04:43
  • 3063

复杂json解析(json里面嵌套json)

调用第三方接口,返回一堆json,我只想取得里面的某一个属性,但是返回的比较复杂,无法直接拿到属性,格式类似于这样: {"video":{"id":"29BA6ACE7A9427489C33DC590...
  • lvyuan1234
  • lvyuan1234
  • 2016年10月15日 10:52
  • 11853

python3字典、列表和json对象互转

python3可以使用json模块操作json json.dumps(): 对json进行编码,对应php的json_encode() json.loads(): 对json进行解码,对应php的js...
  • nuli888
  • nuli888
  • 2016年07月19日 23:48
  • 10354

python 数组和json字符串 互相转换

json.dumps():接收python类型的数据作为参数,返回了一个str对象的encodedjson(从python数据转换为json); json.loads():接收json字符串,返回p...
  • u011304615
  • u011304615
  • 2017年04月12日 11:22
  • 8202

Thrift in python

Thrift官网上的文档很少,从网上搜到的也大都千篇一律,即使是《Thrift: the missing guide》对如何构建python的server和client也没有进行详尽讲述。本博特意看了...
  • chosen0ne
  • chosen0ne
  • 2014年04月02日 16:07
  • 13292

Python Thrift示例

Apache Thrift 是 Facebook 实现的一种高效的、支持多种编程语言的远程服务调用的框架。本文将从 Python开发人员角度简单介绍 Apache Thrift 的架构、开发和使用。...
  • dutsoft
  • dutsoft
  • 2017年05月04日 20:16
  • 3174

python下快速解析复杂的json响应消息

先从 http://sourceforge.net/projects/json-py/?source=dlp 下载json.py 比如如下响应消息 {     'task': {     ...
  • u010873564
  • u010873564
  • 2013年07月08日 16:47
  • 1298

Python解析json数据结构范例

Python解析json数据结构范例 from:http://bkeep.blog.163.com/blog/static/12341429020113156582685/ 一、J...
  • mafuli007
  • mafuli007
  • 2012年07月20日 11:43
  • 5167
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python复杂对象转JSON
举报原因:
原因补充:

(最多只允许输入30个字)