【发布时间】:2015-10-03 01:05:35
【问题描述】:
编辑:原来我的整个问题是我的 Json 之前已经被转换为字典,而我没有意识到。我错误地使用了 json.dumps() 而不是 .loads()。
原Q:我有一段Json代码我已经变成了字典。我正在从服务器检索这个 Json。当我尝试访问新字典的内部值以更改值时,我得到:
TypeError: string indices must be integers, not str
这是我的代码:
corner_data = json.dumps(r.json())
print corner_data
corner_data["geometry"]["corners"] = '{"bottom_right": {"y": "575.531616", "x": "690.547363"}, "top_left": {"y": "-146.739075", "x": "-109.105957"}}'
【问题讨论】:
-
obj['key']['key']['key'] = 'foobar'...!?假设您已将 JSON 解码为字典obj。 -
json数据是多层的。我需要访问和内部层,并将一块更改为另一块 json
-
这意味着您正在访问列表的元素。 Python 中的 JSON 对象是字典,但它可以将列表作为内部值,因此您需要考虑这一点。
-
你想要
loads,而不是dumps。此外,如果您的代码有问题,请发布该代码并提出相关问题。 -
RTFM for
jsonorsimplejson
标签: python json dictionary typeerror