Python复杂对象转JSON

Python复杂对象转JSONPython复杂对象转JSON在Python对于简单的对象转json还是比较简单的,如下:importjsond={‘a’:’aaa’,’b’:[‘b1′,’b2′,’b3′],’c’:100}json_str=json.dumps(d)printjson_str对于复杂对象,可以使用下面的方法来实现,比如:importjsonclassCustomer:

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193572.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 安卓7.1精简版下载_asm字节码

    安卓7.1精简版下载_asm字节码ASM 7.1 发布

    2022年4月21日
    220
  • python发送soap报文_python处理SOAP API

    python发送soap报文_python处理SOAP API我们常见的API一般是restful,但是有的时候也会遇到非restful的时候,对于RestfulAPI,我们很容易用python处理。SOAPAPI我们如何来处理呢?首先我们需要了解RestfulAPI和SOAPAPI架构TheRepresentationalStateTransfer(REST)架构服务通过统一资源定位器(URL)公开。这个逻辑名称将资源的标识与所接…

    2022年7月13日
    20
  • 模板字符串拼接html标签_标签当成字符串了

    模板字符串拼接html标签_标签当成字符串了本文实例讲述了ES6模板字符串和标签模板的应用。分享给大家供大家参考,具体如下:ES6中对字符串进行了扩展,而模板字符串就是一个非常实用的方式,可以在html中实现与变量和方法的混编之前我们手动拼接字符串的方式lethello=’Hello’;lethtml=”+”+hello+”+”;console.log(html);//HelloES6中使用模板字符串来优化…

    2022年8月21日
    30
  • 星愿浏览器有什么优点_星愿浏览器插件

    星愿浏览器有什么优点_星愿浏览器插件目的:想基于浏览器进程抓包,但是想获得噪声相对小的数据,则找相对ChromeGoogle等主流browser更简单的浏览器;想使用Google的某个扩展程序,所以找基于Chrome内核的浏览器所以,我要找基于Chrome内核的简单浏览器最后找到了这几个符合条件的浏览器:星愿、百分cent、Vival、Brave星愿优点:星愿的主页面具有相当的自主性,可以自由拖动添加图标和更换背景、搜索框等。其主页有个搜索漫画的功能,好像在看漫画这一块做了一些页面优化。缺点:只能在它提供的星愿商店里下扩.

    2025年6月11日
    0
  • 使用 HTML、CSS 和 JS 创建在线音乐播放器(含免费完整源码)

    使用 HTML、CSS 和 JS 创建在线音乐播放器(含免费完整源码)直接跳到末尾获取完整源码今天我将带着大家使用HTML、CSS和JS创建音乐播放器,没有使用任何其他库。我们的音乐播放器具有三个部分。主屏幕、播放器部分和播放列表部分。我们的主页部分有一个平滑的工作滑块,也有水平滚动。这个音乐播放器最好的部分是它最小化了音乐播放器。是的,您可以最小化和最大化播放器本身。使这个项目成为一个很棒的音乐播放器。❤️使用HTML、CSS和JS创建在线音乐播放器❤️????在线演示地址????完整代码结构????home-section首页部分???

    2022年6月26日
    59
  • Java缓存及过期处理的简单实现「建议收藏」

    Java缓存及过期处理的简单实现「建议收藏」/***缓存类实体类*/publicclassCacheEntity<T>{/***要存储的数据*/privateTvalue;/***创建的时间单位ms*/privatelongcreateTime=System.currentTimeMillis();…

    2022年9月26日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号