Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试使用python将新行项目附加到json文件_Python_Json - Fatal编程技术网

尝试使用python将新行项目附加到json文件

尝试使用python将新行项目附加到json文件,python,json,Python,Json,我正在尝试向shipstation的json文件中添加一个新行项目。我有以下python代码,允许我更改键的值: resp['items'][0]['sku'] = 'DISCOUNT3' 但是我想添加一个新的“items”键 resp['items'][1]['sku'] = 'DISCOUNT3' 在Python中,使用append()方法向列表中添加新项: new_object = {'sku': 'DISCOUNT3'} resp['items'].append(new_object

我正在尝试向shipstation的json文件中添加一个新行项目。我有以下python代码,允许我更改键的值:

resp['items'][0]['sku'] = 'DISCOUNT3'
但是我想添加一个新的
“items”

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

在Python中,使用
append()
方法向列表中添加新项:

new_object = {'sku': 'DISCOUNT3'}
resp['items'].append(new_object)

您没有提到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字典中的键是非常重要的。这意味着,如果您想创建一个新密钥,并将
'DISCOUNT3'
作为关联值,那么您必须以某种方式添加一个新密钥。例如

resp['items'][0]['sku'] = 'DISCOUNT3'
resp['items'][0]['new_sku'] = 'DISCOUNT3'
而且,作为列表或词汇表,它将与另一个指针相同

resp['items'][1]['sku'] = 'DISCOUNT3'
resp['items'][1]['new_sku'] = 'DISCOUNT3'
这很有效,谢谢大家

新对象={'sku':'miscellaneous','name':'miscellaneous','quantity':1,'unitPrice':5.00}
resp['items'].append(new_object)

能否提供用于添加新项目的代码段?字典键必须唯一,以便不能添加在
resp
中键入
项的新内容。您需要
resp['items'].append({“sku”:“DISCOUNT4”})
?这是我要添加到“items”的json文件中的一个snipper:[{“adjustment”:false,“createDate”:“2017-05-12T06:48:38.997”,“fulfillmentSku”:null,“imageUrl”:null,“lineItemKey”:null,“modifyDate”:“2017-05-12T06:48:38.997”,“name”:“折扣总额”,“选项”:[],“订单编号”:84406181,“产品编号”:10443850,“数量”:1,“发货金额”:null,“sku”:“折扣3”,“税额”:null,“单价”:-109.95,“重量”:{“重量单位”:1,“单位”:“盎司”,“价值”:16.00}下次写一个否决投票的理由就好了;)