Python 3.7 JSON-AttributeError'dict没有属性“读取”'

时间:2019-10-10 17:13:35

标签: python json python-3.x attributeerror

我正在用JSON做简单的练习,突然间,我开始发现错误,阻止字典转换为JSON并记录在文件中:

import json

i = {
    "element" : "some element",
    "items" : [
        1, "true", "thing"
    ],
    "nested": {
        "dfadf": "1",
        "adfgf": "2"
    }
}

file = json.load(i)

返回:

Traceback (most recent call last):
  File "context-manager.py", line 15, in 
    file = json.load(i)
  File (...)"\AppData\Local\Programs\Python\Python37-32\lib\json\__init__.py", line 293, in load
    return loads(fp.read(),
AttributeError: 'dict' object has no attribute 'read'
PS (...)\json>

我尝试粘贴基本功能代码,但是在尝试转储到文件时遇到了相同的错误或“写入”错误。我的Python安装是否已损坏? (我使用公司的笔记本,但直到昨天一切都还好) 设置:Windows 10,Python 3.7.4(运行命令“ py”以不启动Python 2.7)

非常感谢您的意见!

1 个答案:

答案 0 :(得分:1)

您必须打开文件,然后使用json.dump将json写入该文件

with open("filename.json", 'w+') as file:
  json.dump(file, i)

参数w+将创建文件(如果不存在)

如果只想将其转换为字符串而不写入文件,请使用json.dumps

json_content = json.dumps(i)