python - TypeError:'str'对象不支持项目分配,带有json文件的python
问题描述
以下是我的代码
import json
with open('johns.json', 'r') as q:
l = q.read()
data = json.loads(l)
data['john'] = '{}'
data['john']['user'] = 'hey'
以下是json文件
{}
每次我运行我的代码时,我都会收到错误
data['john']['user'] = 'hey'
TypeError: 'str' object does not support item assignment
有没有办法解决这个问题并使 data['john']['user'] 相等嘿?
解决方案
您的代码中有一些错误。首先,您可以使用json.load
代替json.loads
. 前者用于直接从 json 文件中获取数据。
然后,您将分配给data['john']
一个字符串,而不是一个实际的字典。
import json
with open('johns.json', 'r') as q:
data = json.load(q)
data['john'] = {}
data['john']['user'] = 'hey'
推荐阅读
- jquery - 在动画开始之前而不是结束时应用 div CSS
- sql - 使用表列值之一创建额外的总和列
- x86 - x86 cpu有什么样的地址指令?
- sql - sql查询问题一步一步
- php - 从json数组php获取特定数据
- angular - 动态添加内容时,Angular Material侧边栏位于内容之上,而不是推送主容器
- php - 定义一个包含文件的目录
- swift - 如何在swift中的@dynamicMemberLookup中为`subscript(dynamicMember:)`声明“抛出”?
- excel - 通过 FIND 返回具有特定句子的 2 行之间的值
- mysql - 设计数据库并使用 mySQL 进行查询 - 不确定我是否正确建模?