尝试使用python将新订单项追加到json文件中

时间:2017-05-12 14:18:32

标签: python json

我正在尝试将新订单项添加到我的json文件中。我有以下python代码,它允许我更改键的值:

resp['items'][0]['sku'] = 'DISCOUNT3'

但我想添加一个新的"items"密钥

resp['items'][1]['sku'] = 'DISCOUNT3'

2 个答案:

答案 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)