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

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)

猜你喜欢

转载自blog.csdn.net/qq_42807295/article/details/81274118