学习Json库
本文最后更新于:2024年8月11日 晚上
Json model
dumps
将Python对象转换成Json
字符串1
2
3
4from json import dumps
example_dict = {"id":"114514","name":"jinzhi","depart":"Nya"}
# indent是一个格式化参数,能让转换后打印结果更好看,也可以不加
json_date = dumps(example_dict,indent=4)Python JSON dict object list, tuple array str string int, float, int & float-derived Enums number TRUE TRUE FALSE FALSE None null
dump
将Python对象写入Json文件1
2
3
4
5from json import dump
example_dict={"name":"mimiko","age":16,"sex":"Unknown"}
with open("test.json","w") as f:
# 第二个参数是文件指针
dump(example_dict,f)loads
操作字符串,将一串满足json格式的字符串转换成对应的Python对象
如将‘{’name’:'tella','age':18}’
转换成字典对象{u’name’=‘tella’,u’age’=18}
loads(s,objects_hook,object_pairs_hook)
部分参数s
传入的字符串objects_hook
自定义解码器,意味着你可以通过自定义类的方式把json文件转换成你的格式(即对dict
进一步处理)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22import json
class custome_decode():
def __init__(self,name=None,age=None,gender=None):
self.name = name
self.age = age
self.gender = gender
def trans_to_Json(self):
return {'name':name,'age':age,'gender':gender}
@staticmethod
def loading_json(dct):
if isinstace(dct,dict):
return custome_decode(
dct.get("name",None)
dct.get("age",None)
dct.get("gender",None))
print("ERROR:传入的不是字典")
return dct
if __name__ == "__main__":
test_json = {"name":'tella',"age":18}
result = jsons.load(test_json,object_hooks=custome_decode.loading_json)这个类使用了类对象来存储文件信息,这个对象还支持把信息转换成Json格式,比单纯的字典高效一些
- object_pairs_hook
以有序元组对组成列表的形式返回Json内容,优先级高于object_hooks
load
操作文件流,功能跟loads
一样,把文件对象的内容转换成Python对象
学习Json库
https://qlozin.top/2023/01/10/About Json model/