python实现class对象转换成json/字典的方法
发布于 2016-03-28 08:05:44 | 153 次阅读 | 评论: 0 | 来源: 网友投递
Python编程语言Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。
这篇文章主要介绍了python实现class对象转换成json/字典的方法,结合实例形式分析了Python类型转换的相关技巧,需要的朋友可以参考下
本文实例讲述了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/字典的方法
python将图片文件转换成base64编码的方法
Python实现中文数字转换为阿拉伯数字的方法示例
python实现将pvr格式转换成pvr.ccz的方法
python实现将汉字转换成汉语拼音的库
python实现将文本转换成语音的方法
python实现将html表格转换成CSV文件的方法
Python实现把数字转换成中文
python实现将英文单词表示的数字转换成阿拉伯数字的方法
Python实现将罗马数字转换成普通阿拉伯数字的方法
python通过pil模块将raw图片转换成png图片的方法
python使用PythonMagick将jpg图片转换成ico图片的方法