我正在尝试将新订单项添加到我的json文件中。我有以下python代码,它允许我更改键的值:
resp['items'][0]['sku'] = 'DISCOUNT3'
但我想添加一个新的"items"
密钥
resp['items'][1]['sku'] = 'DISCOUNT3'
答案 0 :(得分:0)
您没有提及resp['items']
的类型。
实际上,如果您的resp['items']
是列表对象,则无法为其添加密钥,只能添加一个元素。您可以按照以下方式执行此操作
>>> resp['items'].append({'sku':'DISCOUNT3'}) # if resp['items'] is empty, it will be located at index 0
>>> resp['items'].append({'sku':'DISCOUNT3'}) # will be located at index 1
>>> resp['items']
[{'sku': 'DISCOUNT3'}, {'sku': 'DISCOUNT3'}]
但是resp['items']
不太可能是一个列表,因为你大约两个添加两个相同的元素。如果resp['items']
是字典对象,您可能想要做的是
>>> resp['items'][0] = {'sku':'DISCOUNT3'}
>>> resp['items'][1] = {'sku':'DISCOUNT3'}
>>> resp['items']
{0: {'sku': 'DISCOUNT3'}, 1: {'sku': 'DISCOUNT3'}}
或者,因为要弄清楚你真正想要/想要的东西并不容易,所以知道python词典中的键是unique。这意味着如果您要创建一个以'DISCOUNT3'
作为关联值的新密钥,您将以某种方式添加新密钥。 E.g。
resp['items'][0]['sku'] = 'DISCOUNT3'
resp['items'][0]['new_sku'] = 'DISCOUNT3'
并且,resp['items']
列表或字典,它将与其他指针相同
resp['items'][1]['sku'] = 'DISCOUNT3'
resp['items'][1]['new_sku'] = 'DISCOUNT3'
答案 1 :(得分:-1)
使用append()
方法将新项目添加到Python列表中:
new_object = {'sku': 'DISCOUNT3'}
resp['items'].append(new_object)