以下是我的JSON文件的示例(非常大)。我需要追加多个东西。对于key2
,key3
我很容易添加,因为它很简单,但是当我尝试从value1
添加value2
和key1
时。它给了我TypeError: list indices must be integers, not str
。
[
{
"key1": [
{
"value1": int,
"value2": "string",
"value3": "string",
"value4": "string",
"value5": "string",
"value6": int
},
],
"key2": some value,
"key3": some value,
},
],
答案 0 :(得分:-2)
请记住,列表和INSIDE列表是字典.... 因此无法直接访问它。只是为了表明我会逐步做到......
y = d['key1'][0]
现在你是一本字典,这就是你出错的地方。
现在您可以像
一样访问value1了value1 = y['value1']
假设这是你的json
[
{
"key1": [
{
"value1": int,
"value2": "string",
"value3": "string",
"value4": "string",
"value5": "string",
"value6": int
},
{
"value1":int
},
],
"key2": some value,
"key3": some value,
},
],
d是你的json的名字......
现在您想要访问字典中的所有value1,
你要做的是
value_1s = [k['value1'] for k in d['key1']]
这段代码正在做的是迭代存储在key1中的列表,其中的元素是字典,并从每个字典中获取value1
并将其存储到新列表中。
所以现在你的value_1将拥有所有键......