json.dumps()、json.dump()、json.loads()和json.dumps()的区别
json.dumps()、json.dump()、json.loads()和json.dumps()的区别
json.dumps()用于将字典形式的数据转化为字符串
json.loads()用于将字符串形式的数据转化为字典
简单理解:
1、json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串)
(1)json.dumps()函数是将一个Python数据类型列表进行json格式的编码(可以这么理解,json.dumps()函数是将字典转化为字符串)
(2)json.loads()函数是将json格式数据转换为字典(可以这么理解,json.loads()函数是将字符串转化为字典)
2、json.dump()和json.load()主要用来读写json文件函数
示例代码:
json.dumps()函数的使用,将字典转化为字符串
import jsondict1 = {'A': 'a', 'B': 'b'}
dict2 = {"A": "a", "B": "b"}
print(dict1)
print(dict2) # 字典打印的效果为单引号
# json.dumps()函数的使用,将字典转化为字符串
json_str = json.dumps(dict1)
print(type(dict1))
print(type(json_str))
print(json_str)
运行结果:
{'A': 'a', 'B': 'b'}
{'A': 'a', 'B': 'b'}
<class 'dict'>
<class 'str'>
{"A": "a", "B": "b"}
注意:
当需要转换的字典中包含中文时,会出现乱码问题。
示例代码:
import jsondict1 = {"A": "a", "姓名": "张三 my name is zhangsan, age is 26"}
print(dict1)
# json.dumps()函数的使用,将字典转化为字符串
json_str = json.dumps(dict1)
print(type(dict1))
print(type(json_str))
print(json_str)
运行效果:
原因:json.dumps 序列化时默认使用的ascii编码,想输出真正的中文需要指定ensure_ascii=False:更深入分析,是应为dJSON object 不是单纯的unicode实现,而是包含了混合的unicode编码以及已经用utf-8编码之后的字符串。
修改之前的代码:
import jsondict1 = {"A": "a", "姓名": "张三 my name is zhangsan, age is 26"}
print(dict1)
# json.dumps()函数的使用,将字典转化为字符串
json_str = json.dumps(dict1, ensure_ascii=False)
print(type(dict1))
print(type(json_str))
print(json_str)
运行效果:
json.loads函数的使用,将字符串转化为字典
import jsondict1 = {'A': 'a', 'B': 'b'}
# json.dumps()函数的使用,将字典转化为字符串
json_str = json.dumps(dict1)
# json.loads函数的使用,将字符串转化为字典
json_dict = json.loads(json_str)
print(type(json_str))
print(type(json_dict))
print(json_dict)
运行结果:
<class 'str'>
<class 'dict'>
{'A': 'a', 'B': 'b'}
如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到json.dump(),
json.load()用于从json文件中读取数据.
import jsondict1 = {'A': 'a', 'B': 'b'}
# json.dumps()函数的使用,将字典转化为字符串
json_str = json.dumps(dict1)
# json.dump()函数的使用,将json信息写进文件
# with open('json_str.json', 'a', encoding='utf-8') as f:
# f.write(json_str)
file_w = open('json_str.json', 'w', encoding='utf-8')
json.dump(json_str, file_w)
file_w.close()
# json.load()函数的使用,将读取json信息
file_r = open('json_str.json', 'r', encoding='utf-8')
data = json.load(file_r)
print(data)
运行结果:
{"A": "a", "B": "b"}
json.dumps()、json.dump()、json.loads()和json.dumps()的区别相关推荐
- python教程:Json模块中dumps、dump、loads、load函数用法讲解
1.json.dumps()和loads() json.dumps()将dict类型数据转成str. json.loads()刚好相反,将str类型的数据转成dict. import json dat ...
- python json模块有什么用_Python中json模块与jsonpath模块的区别是什么
Python中json模块与jsonpath模块的区别是什么 发布时间:2021-02-02 11:15:52 来源:亿速云 阅读:94 作者:小新 这篇文章主要介绍了Python中json模块与js ...
- python dump函数_python 处理 json 四个函数dumps、loads、dump、load的区别
1 .json.dumps() 函数是将一个 Python 数据类型列表(可以理解为字典)进行json格式的编码(转换成字符串,用于传播) eg, dict = {"age": & ...
- python中json.load()、json.loads()、json.dump()、json.dumps()的区别
json.load()从文件中读取json字符串 json.loads()将json字符串转换为字典类型 json.dumps()将python中的字典类型转换为字符串类型 json.dump()将j ...
- python中json文件处理涉及的四个函数json.dumps()和json.loads()、json.dump()和json.load()的区分
一.概念理解 1.json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串) (1)json.dumps()将字典转化为字符串 (2)json.load ...
- python中dump用法_python中json庫中的load、loads、dump、dumps的區別與用法
一.json.dumps(i): json中的dumps方法是用來將特定格式的數據進行字符串化的操作,比如列表字典都可以進行字符串化操作然后寫入json的file:而且如果是要寫入json文件就必須要 ...
- python 对json数据读取及保存与读取,对dump,dumps,load,loads的理解
一.对json文件的读取 data1={"programmers":[{ "firstName": "Brett", "lastN ...
- 日常小记录json文件(json.load()、json.loads()、json.dump()、json.dumps())
使用模型预测图片文件时,为了加快速度,早点得到预测结果,可以将预测图片分成多份多开几个命令窗口进行预测. 具体的处理方法是: ①读取需预测图片文件列表, ②把列表分成多份写入多个json文件 ③预测时 ...
- json.dumps与json.dump的区别 json.loads与json.load的区别(简洁易懂)
json.dumps是将一个Python数据类型列表进行json格式的编码解析, 示例如下: >>> import json #导入python 中的json模块 >>& ...
最新文章
- php银盾算法,盾灵商品推广系统
- Deep Web爬虫
- 手把手教你使用YOLOV5训练自己的数据集并用TensorRT加速
- 如何删除链表的最后一个节点_面试:删除链表的节点
- 适合pythonpandas的软件_适合 Python 入门的 8 款强大工具!
- hadoop中如何动态更新集群队列和容量
- 计算机组装与维修单招,单招职二 计算机组装与维修试卷.doc
- SQLlite数据导入到mySQL_如何批量导入数据到Sqlite数据库
- 设计模式之创建者模式
- backfire openwrt安装click modular router
- SAP副本请求传输教程
- diybox路由器设置教程_tp link无线路由器设置图文教程
- 开发者都应该知道的 Centos/Docker/Nginx/Node/Jenkins 操作(长文,建议收藏)
- 腾讯区块链的三年与它的打法 |链捕手
- ip地址与MAC地址 中的 组播
- 【QUIC】什么是quic
- php是什么症状脾虚什么症状怎么治,【脾虚的表现】脾虚的症状有哪些-有问必答-快速问医生...
- 完美日记“变形梦”难圆?
- js二分法的简单计算
- PB中OpenSheet与open的区别
热门文章
- 重磅:Python/Java/C 2020年之争!谁是你心中的NO.1?
- TIOBE 1月编程语言排行榜:C语言再度「C 位」出道,Python惜败
- 近期必读的6篇NeurIPS 2019零样本学习论文
- 如何用Neo4j和Scikit-Learn做机器学习任务?| 附超详细分步教程
- AI真人表情包、斗地主AI......DeeCamp学员做了50个好玩又实用的AI项目
- 知识图谱、深度学习、AutoML,推荐系统与新技术结合将碰撞出怎样的火花?
- 6月技术福利限时免费领
- 100 行代码透彻解析 RPC 原理
- 如何轻松搞定 CRUD 的创建人、修改人、时间等字段的赋值
- 漫画:三种 “奇葩” 的排序算法