python实现class对象转换成json/字典的方法
作者:Ruthless 时间:2021-11-16 00:46:34
本文实例讲述了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,class,json,字典
0
投稿
猜你喜欢
Python采集C站高校信息实战示例
2023-11-16 12:01:56
MYSQL初学者命令行使用指南
2024-01-15 08:46:33
ASP Crazy 模版操作类(最简单的模板类、仅提供交流)
2011-03-17 11:06:00
Python反射用法实例简析
2021-10-15 20:28:34
MySQL中批量删除指定前缀表的sql语句
2024-01-17 07:37:07
解决Tkinter中button按钮未按却主动执行command函数的问题
2023-05-04 18:38:08
delete from online where datediff
2009-06-07 18:46:00
vue2 router 动态传参,多个参数的实例
2024-05-11 09:13:17
pandas 实现某一列分组,其他列合并成list
2022-06-12 13:49:21
使用Python编写一个模仿CPU工作的程序
2021-04-28 05:28:25
Python使用matplotlib绘图无法显示中文问题的解决方法
2023-07-30 22:16:30
Python代码调试的几种方法总结
2022-06-14 18:21:27
全面了解python中的类,对象,方法,属性
2021-10-07 10:54:50
详解ASP.NET Core中间件Middleware
2024-05-09 09:05:15
MySQL SQL 语法参考
2024-01-17 15:50:05
Python简单基础小程序的实例代码
2021-03-29 21:17:59
flask中过滤器的使用详解
2023-03-01 16:00:55
ORM框架之Dapper简介和性能测试
2024-05-03 15:30:44
Python+DeOldify实现老照片上色功能
2021-07-13 00:04:46
pygame游戏之旅 载入小车图片、更新窗口
2022-08-06 18:12:39