python - JSON 对象必须是 str、bytes 或 bytearray,而不是 dict

标签 python json dictionary

在 Python 3 中,加载之前保存的 json,如下所示:

json.dumps(字典)

输出类似于

{"('Hello',)": 6, "('Hi',)": 5}

当我使用时

json.loads({"('Hello',)": 6, "('Hi',)": 5})

它不起作用,发生这种情况:

TypeError: the JSON object must be str, bytes or bytearray, not 'dict'

最佳答案

json.loads 将字符串作为输入并返回字典作为输出。

json.dumps 将字典作为输入并返回一个字符串作为输出。


使用 json.loads({"('Hello',)": 6, "('Hi',)": 5}),

您正在调用 json.loads 并使用字典作为输入。

您可以按如下方式修复它(虽然我不太确定这样做的意义何在):

d1 = {"('Hello',)": 6, "('Hi',)": 5}
s1 = json.dumps(d1)
d2 = json.loads(s1)

关于python - JSON 对象必须是 str、bytes 或 bytearray,而不是 dict,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42354001/

相关文章:

python - 有没有 pickle 的替代品 - 保存字典(python)

Python 文本文件到字典中不起作用

Python:matplotlib 和 seaborn 之间共享比例

python - 当文本中有特殊字符时,如何调整 Figtext 行间距?

php - 从一个php文件中获取json数据

java - 我必须解析 JSON 响应,我必须获取 leet talk 下的子节点(包含符号、字符、数字的随机字符串)

python - Python 3.2 中的 **kwargs 和 dict 有什么区别?

python - 将 2 列合并为 1 列

python - 如何将参数传递给任务队列?

json - 如何将特定数据附加到 JSON 数组