You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何更新数据字典?JSON字段提取更新报错求助

问题原因分析

你触发ValueError的核心原因是:你构造的report是字符串类型,但dict.update()方法要求传入的是字典对象,或者由键值对组成的可迭代序列(比如元组列表)。当你传入字符串时,Python会把它拆成单个字符的序列,每个字符长度为1,不符合update要求的“键值对(长度为2的元素)”格式,因此报错。

另外你原代码里的字符串格式化还有语法错误:括号位置不正确,正确的写法应该是report = "name:{}, id:{}".format(content['name'], content['id']),但即便修正了这个,字符串依然不能用来更新字典。

正确实现方式

方式1:直接创建目标字典

如果不需要中间变量,直接从JSON解析后的content字典提取字段创建my_dict即可:

# 假设content是你已解析完成的JSON字典
my_dict = {
    'name': content['name'],
    'id': content['id']
}

方式2:用字典类型的中间变量更新

如果必须通过中间变量来更新my_dict,需要把report定义为字典,而不是字符串:

# 构造字典类型的report
report = {
    'name': content['name'],
    'id': content['id']
}

# 初始化my_dict(如果尚未创建)
my_dict = {}
# 使用update方法更新字典
my_dict.update(report)

补充:update方法的合法参数示例

除了字典,你也可以传入键值对组成的元组列表:

my_dict.update([('name', content['name']), ('id', content['id'])])

内容的提问来源于stack exchange,提问作者user1471980

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 17:30:06