南昌网站建设哪家比较好,体育直播网站建设,长春宣传片拍摄,自己做网站视频教程前言
嗨喽#xff0c;大家好呀~这里是爱看美女的茜茜呐 Python内置的json模块提供了非常完善的对象到JSON格式的转换。
废话不多说#xff0c;我们先看看如何把Python对象变成一个JSON#xff1a;
d dict(nameKaven, age17, sexMale)
print(json.dumps(d)) # {na…前言
嗨喽大家好呀~这里是爱看美女的茜茜呐 Python内置的json模块提供了非常完善的对象到JSON格式的转换。
废话不多说我们先看看如何把Python对象变成一个JSON
d dict(nameKaven, age17, sexMale)
print(json.dumps(d)) # {name: Kaven, age: 17, sex: Male}说明
dumps()方法返回一个str内容就是标准的JSON。
类似的dump()方法可以直接把JSON写入一个 Object。
要把JSON反序列化为Python对象我们可以用loads()或者对应的load()方法前者把JSON的字符串反序列化后者从Object中读取字符串并反序列化
比如这样
import json
json_str {name: Kaven, age: 17, sex: Male}
print(json.loads(json_str)) # {name: Kaven, age: 17, sex: Male}更多精彩机密、教程尽在下方赶紧点击了解吧~
资料、视频教程、代码、插件安装教程等我都准备好了直接在文末名片自取就可 Python的dict对象可以直接序列化为JSON的{}那么如何用class对象比如定义Person类然后序列化?
dumps 可选参数default就是把任意一个对象变成一个可序列为JSON的对象我们只需要为Person专门写一个转换函数再把函数传进去即可 学习中遇到问题没人解答小编创建了一个Python学习交流QQ群926207505
寻找有志同道合的小伙伴互帮互助,群里还有不错的视频学习教程和PDF电子书import jsonclass Person(object):# __slots__ (name, age) # 通常class的实例都有一个__dict__属性它就是一个dict# 用来存储实例变量。也有少数例外比如定义了__slots__的class,大家可以开启后运行看看报错信息def __init__(self, name, age, sex):self.name nameself.age ageself.sex sexdef PersonToDict(cls):return {name: cls.name,age: cls.age,sex: cls.sex}s Person(Kaven, 17, Male)
print(json.dumps(s, defaultPersonToDict))
# print(json.dumps(s, defaultlambda obj: obj.__dict__)) 输出和上面一样
# 输出 : {name: Kaven, age: 17, sex: Male}这样Person实例首先被PersonToDict()函数转换成dict然后再被序列化为JSON,大家看到下面有个lambda匿名函数他的用处可大了比如
下次如果遇到一个Apple/Banaba等类的实例可以把任意class的实例变为dict
print(json.dumps(s, defaultlambda obj: obj.__dict__)) # obj为对象参数名可自定义同样的道理如果我们要把JSON反序列化为一个Person对象实例loads()方法首先转换出一个dict对象然后我们再传入的object_hook函数负责把dict转换为Person实例 学习中遇到问题没人解答小编创建了一个Python学习交流QQ群926207505
寻找有志同道合的小伙伴互帮互助,群里还有不错的视频学习教程和PDF电子书import jsonclass Person(object):# __slots__ (name, age) # 通常class的实例都有一个__dict__属性它就是一个dict# 用来存储实例变量。也有少数例外比如定义了__slots__的class,大家可以开启后运行看看报错信息def __init__(self, name, age, sex):self.name nameself.age ageself.sex sexdef DictToPerson(d):return Person(d[name], d[age], d[sex])json_str {name: Kaven, age: 20, sex: Male}
cls json.loads(json_str, object_hookDictToPerson)
print(cls.name) # KavenPython还有个pickle模块可能存在Python兼容问题只能用Pickle保存那些不重要的数据。
尾语
感谢你观看我的文章呐~本次航班到这里就结束啦
希望本篇文章有对你带来帮助 有学习到一点知识~
躲起来的星星也在努力发光你也要努力加油让我们一起努力叭。 最后宣传一下呀~更多源码、资料、素材、解答、交流皆点击下方名片获取呀