天天看点

Python报错:TypeError: the JSON object must be str, bytes or bytearray, not ‘dict‘loads(param)dumps(param)

当我尝试运行以下代码,来练习使用json.loads()和json.dumps()函数时,系统给我报出了这个错误。

import json
data = {"a":1,"b":2,"c":3}
j = json.loads(data)
print(j)      
TypeError: the JSON object must be str, bytes or 
    bytearray, not 'dict'      

由于data现在是一个字典,只需要用’’'符号将它转换成字符串就可以了。

但要知道loads()和jumps()这两个函数的具体用法:

loads(param)

将文本字符串转换为json对象的函数,其函数名是load string 的缩写,意思是加载字符串。所以其参数param必须要是一个字典型的字符串。且字典的键必须用双引号来包裹。

dumps(param)

将json数据对象转换为文本字符串的函数,其函数名是dump string 的缩写,意思是输出字符串,所以其参数param必须要是json对象,也就是loads()函数返回的数据类型。