Python中的dump() 、load()和dumps()、loads()使用及示例
创始人
2024-02-27 22:35:58
0

Python中的dump() 、load()和dumps()、loads()

结论:

1.不加s的标识对json文件的读写,将内存中值读取写入到json后缀文件,或者将json后缀文件中内容读取到内存

2.加了s的主要是字符串类型和其他数据类型的互转

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。

Python与JSON数据类型对应表:
在这里插入图片描述

1、json.dumps()和json.loads()是json格式处理Python的两种数据类型之间的互转
(1)json.loads()函数是将数据转换字符串转为数据类型字典/列表或其他的格式

import jsonstring1 = '{"name":"张三", "age":18, "hobby":{"hobby1":"打游戏", "hobby2":"打篮球", "hobby3":"踢足球"}, "gender":"男"}'
string2 = "abcdefgwwwwwwwwwww"
lis = [1,2,3,4,5,6,7,8]
dit = {"name": "egon", "type": {"name": "seq", "parameter": ["1", "2"]}}print('string:', type(string1))
# json.loads是将字符串类型转换为dict类型
res = json.loads(string1)
print(type(res), res)# 打印结果:
# string: 
#  {'name': '张三', 'age': 18, 'hobby': {'hobby1': '打游戏', 'hobby2': '打篮球', 'hobby3': '踢足球'}, 'gender': '男'}# 非键值对的字符串不支持转换为对应的dict类型
# print('string2:', type(string2))
# res = json.loads(string2)
# print(type(res), res)# print('list:', type(list))
# res = json.loads(list)
# print(type(res), res)
# TypeError: the JSON object must be str, bytes or bytearray, not list

(2)json.dumps()函数是将数据类型字典/列表转化为数据类型字符串

import jsonstring1 = '{"name":"张三", "age":18, "hobby":{"hobby1":"打游戏", "gender":["1","2"]}}'
string2 = "abcdefgwwwwwwwwwww"
list = [1, 2, 3, 4, 5, 6, 7, 8]
dit = {"name": "egon", "type": {"name": "seq", "parameter": ["1", "2"]}}print('string:', type(string1))
res = json.loads(string1)
print(res, type(res))res2 = json.dumps(res)
print(res2, type(res2))print("==================================")
print(res.keys())
print(res["name"])
print(res["hobby"]["hobby1"])
print(res["hobby"]["gender"][1])

2、 json.dump()和json.load()是读取json格式文件内容或者将内容写入json格式文件中
(1)json.dump() 将内存中的值传入到指定json文件中

import json# 序列化结果写入文件的简单方法with open('aaa.json', mode='wt', encoding='utf-8') as f:json.dump([1, 'aaa', True, False], f)

(2)json.load() 读取json文件中内容到内存

import json# 从文件读取json格式字符串进行序列化操作简单方法with open('aaa.json', mode='rt', encoding='utf-8') as f:l = json.load(f)

总结:json模块的load()、dump()用于编码和解码JSON数据,处理文件。转换包含所有合法数据类型的Python对象、JSON数据类型!

相关内容

热门资讯

二选一!伊萨克下家最新赔率:去... 直播吧08月03日讯 利物浦1.1亿镑报价伊萨克被纽卡拒绝,机构最新数据显示,赔率仍稍看好伊萨克今夏...
公安部:依法打击危害国家保护鸟... 记者今天从公安部获悉,公安部近日下发通知,组织全国公安机关开展 “平安原野—2025”专项行动,依法...
东莞寮步回应变电站选址临近小区... 近日,东莞寮步光大松湖云台小区正对面拟修建一大型变电站(110千伏富竹山输变电工程),引发小区部分居...
印度官员:“阵风”被击落,是因... 【文/观察者网 张菁娟】据央视军事消息,印度武装部队5月7日发起代号为“朱砂”的行动,打击巴基斯坦和...
最高气温43.1℃ !全国高温... “热!要热化了!”从7月30日开始,我国进入三伏天的中伏,意味着一年当中最热的时段到来。 8月2日1...
(体育)赛车——F1匈牙利大奖... 当日,2025赛季世界一级方程式赛车锦标赛(F1)匈牙利大奖赛排位赛在匈牙利首都布达佩斯附近的亨格罗...
赵露思经纪公司发文回应,法律人... 8月3日上午,赵露思经纪公司天津银河酷娱文化传媒有限公司官方微博发声明回应赵露思昨晚的微博长文内容。...
法军总参谋长离任前警告:俄罗斯... 据央视新闻,当地时间8月2日,俄罗斯国防部发布消息称,在过去24小时内,俄防空部队摧毁了338架乌军...