json中json.loads()和json.dumps()的区别

本文详细介绍了Python中使用json.loads()和json.dumps()进行数据转换的方法,并通过实例演示了如何正确地将字符串转换为字典及反之的过程。文章还特别强调了在使用json.loads()时需要注意的异常情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

json中json.loads()和json.dumps()的区别

刚刚好学习这两个函数,遇到些问题,百度了一下,理解了他们的区别,但百度还是没有解决掉我的问题,但经过摸索发现还是挺简单的
首先,看一下他们二者的区别:

json.loads() 是将字符串传化为字典
json.dumps () 是将字典转化为字符串

这也就是它们的区别,在百度随便都能找到的。但是我主要想讲的是json.loads()这个函数, 如果字符串不是字典格式的字符串的时候,执行json.loads会报错!
看下列:



import json
str = "  Lihua is good man!     "
#非字典类型的字符串,会报错!
dic1 = json.loads(str)
print(dic1)
print(type(dic1))

执行结果:
执行结果

如果是字典类型的字符串的话就OK了,下面是正常的使用的:

import json
strDic = '{"name":"Lihua","ages":18,"weigth":140,"heigth":170}'
str = json.loads(strDic)
print(str)
print(type(str))

执行结果:
这里写图片描述

一般情况下使用json.loads()都是将字典型的字符串转化的,之所以这里写一下,是防止类似事件发生

下面看一下json.dumps()


import json
strDic = '{"name":"Lihua","ages":18,"weigth":140,"heigth":170}'
str = json.loads(strDic)
print(str)
print(type(str))
dic =json.dumps(str)
#此时的str经过上述代码已经转变为字典类型了,现在再将它转回去
print(dic)
print(type(dic))

运行结果:
这里写图片描述

这也当是处理这类异常了

json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char
0)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值