本文实例讲述了python实现class对象转换成json字典的方法。分享给大家供大家参考,具体如下:

# -*- encoding: UTF-8 -*-

class Student:

name = ''

age = 0

def __init__(self, name, age):

self.name = name

self.age = age

def convert_to_dict(obj):

'''把Object对象转换成Dict对象'''

dict = {}

dict.update(obj.__dict__)

return dict

def convert_to_dicts(objs):

'''把对象列表转换为字典列表'''

obj_arr = []

for o in objs:

#把Object对象转换成Dict对象

dict = {}

dict.update(o.__dict__)

obj_arr.append(dict)

return obj_arr

def class_to_dict(obj):

'''把对象(支持单个对象、list、set)转换成字典'''

is_list = obj.__class__ == [].__class__

is_set = obj.__class__ == set().__class__

if is_list or is_set:

obj_arr = []

for o in obj:

#把Object对象转换成Dict对象

dict = {}

dict.update(o.__dict__)

obj_arr.append(dict)

return obj_arr

else:

dict = {}

dict.update(obj.__dict__)

return dict

stu = Student('zhangsan', 20)

print '-----------'

print convert_to_dict(stu)

print '-----------'

print convert_to_dicts([stu, stu])

print '-----------'

print class_to_dict(stu)

print '-----------'

print class_to_dict([stu, stu])

stua = Student('zhangsan', 20)

stub = Student('lisi', 10)

stu_set = set()

stu_set.add(stua)

stu_set.add(stub)

print class_to_dict(stu_set)

运行结果如下:

-----------

{'age': 20, 'name': 'zhangsan'}

-----------

[{'age': 20, 'name': 'zhangsan'}, {'age': 20, 'name': 'zhangsan'}]

-----------

{'age': 20, 'name': 'zhangsan'}

-----------

[{'age': 20, 'name': 'zhangsan'}, {'age': 20, 'name': 'zhangsan'}]

[{'age': 10, 'name': 'lisi'}, {'age': 20, 'name': 'zhangsan'}]

希望本文所述对大家Python程序设计有所帮助。

python对象列表转换为字典_python实现class对象转换成json/字典的方法相关推荐

  1. python将文字转换为语音_python实现将文本转换成语音

    1.[代码][Python]代码 # Text To Speech using SAPI (Windows) and Python module pyTTS by Peter Parente # do ...

  2. python里class转换_python实现class对象转换成json/字典的方法

    python实现class对象转换成json/字典的方法 发布于 2016-03-28 08:05:44 | 153 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是 ...

  3. python将图片转换成二进制文本_python将图片文件转换成base64编码的方法

    本文实例讲述了python将图片文件转换成base64编码的方法.分享给大家供大家参考.具体实现方法如下: import base64f=open(r'c:\jb51.gif','rb') #二进制方 ...

  4. python list转换成树形结构_python递归查询菜单并转换成json实例

    最近需要用python写一个菜单,折腾了两三天才搞定,现在记录在此,需要的朋友可以借鉴一下. 备注:文章引用非可执行完整代码,仅仅摘录了关键部分的代码 环境 数据库:mysql python:3.6 ...

  5. python将list转换为dataframe_Pandas把dataframe或series转换成list的方法

    把dataframe转换为list 输入多维dataframe: df = pd.DataFrame({'a':[1,3,5,7,4,5,6,4,7,8,9], 'b':[3,5,6,2,4,6,7, ...

  6. python 数字转化excel行列_Python 3 实现数字转换成Excel列名(10进制到26进制的转换函数)...

    背景: 最近在看一些Python爬虫的相关知识,讲爬取的一些数据写入到Excel表中,当时当列的数目不确定的情况下,如何通过遍历的方式讲爬取的数据写入到Excel中. 开发环境: Python 3  ...

  7. python调用迅雷下载引擎_python将下载地址转换成迅雷和qq旋风的下载地址

    迅雷和qq旋风下载,有加速和离线功能,很方面,我是在网上看到的原始地址和迅雷地址,qq旋风地址的转化原理,然后用python+pyqt写了一个客户端 原理: 迅雷: 迅雷下载地址="thun ...

  8. python处理时间格式时分秒_python将时分秒转换成秒的实例

    处理数据的时候遇到一个问题,从数据库里导出的数据是时分秒的格式:hh:mm:ss ,现在我需要把它转换成秒,方便计算. 原数据可能分两种情况,字段有可能是文本字符串类型的,也有可能是时间类型,他们的处 ...

  9. python字符串转化为浮点_python如何将字符串转换成浮点型

    python将字符串转换成浮点型的方法:可以利用float()函数来实现.float()函数用于将整数和字符串转换成浮点数并返回,具体使用方法如:[num1 = "123.12"; ...

最新文章

  1. matlab登录界面密码,关于MATLAB中密码登录界面的问题
  2. 机器视觉和Tesseract
  3. python web界面整合 tail_如何使用Python Tornado在HTTP上实现“ tail”?
  4. oracle数据库密码复杂度查询,Oracle11g R2创建PASSWORD_VERIFY_FUNCTION对应密码复杂度验证函数步骤...
  5. SecureCRT向多个tab窗口发命令
  6. 【二级指针--定义、初始化赋值、解引用;特殊指针--空指针、void类型的指针】(学习笔记12--指针下)
  7. linux中开启snmp协议
  8. 算法与数据结构(九) 图论:最短路径问题
  9. margin,padding之间的比较
  10. Python机器人-最简单的机器人答复
  11. CPDA|数据分析师需要具备哪些基本功?
  12. qq邮箱,网易邮箱,smtp邮箱发邮件
  13. 【团队管理系列】团队管理方面的量化数据
  14. CO03生产订单“状态”值对应表和值描述对应表(TJ02T) 和通过BAPI(STATUS_TEXT_EDIT)获取
  15. 255计算机网络,计算机网络复习题1.子网掩码为:255.255.255.一网络的为255.255.255.248,问该网络能够连接多少个...
  16. Windows环境下Redis安装操作步骤
  17. 计算机出现蓝屏怎么解决,电脑出现蓝屏,什么原因,怎么办?
  18. MMA-清除所有变量的方法
  19. 奇迹MU服务器租用选择 真实好用 稳定不卡 还能防入侵
  20. 识别户口本易语言代码

热门文章

  1. 计算机名称 steam,Steam电脑配置排名:前19名都是N卡
  2. C++新特性探究(七):初始化列表(Initialization List)
  3. linux本地主机怎么登录,本地为Windows,使用Xshell登录Linux云主机
  4. java应用程序无法启动,Apache Tomcat / 6.0.32 - Web应用程序无法启动
  5. mysql 唯一索引_面试官:谈谈你对mysql索引的认识?
  6. centos7 关闭防火墙的指令_CentOS7服务器安装Ansys 19.2过程
  7. idea占用cpu过高_生产环境服务器变慢、CPU占用过高,诊断思路和性能评估谈谈?...
  8. html快捷键_Mac进阶:掌握这 5 个冷门快捷键,让Mac更好用
  9. python字典长度可变吗_关于在Python3中:字典在迭代过程中,字典的长度是不允许改变的...
  10. php动态写入vue,Vue.js中使用动态组件的方法