我有一个JSON文件,需要用新的键值对更新。
当前json:
[{'Name': 'AMAZON',
'Type': 'Web',
'eventTimeEpoch': 1611667194}]
我需要添加一个位置参数,并将其更新为"USA"
。但当尝试用下面的代码更新它时,它会将值附加到位置参数中以结束。如下所示。
[{'Name': 'AMAZON',
'Type': 'Web',
'eventTimeEpoch': 1611667194,
'location': 'USA'}]
如何在Name
之后添加此location
参数。
预期产出:
[{'Name': 'AMAZON',
'location': 'USA',
'Type': 'Web',
'eventTimeEpoch': 1611667194
}]
当前代码:
filename='test.json'
jsonFile = open(filename, "r") # Open the JSON file for reading
data = json.load(jsonFile)
jsonFile.close()
data[0]["location"] = "USA"
data
2条答案
按热度按时间8hhllhi21#
首先,您当前的JSON文件格式不正确。JSON需要双引号而不是单引号。
虽然插入的键-值对的顺序在Python 3.7中得到了保证,但是你没有任何选项可以“插入”到字典中的特定位置(比如
list
),而且人们在处理JSON文件时通常不考虑键的顺序,无论如何你都是通过“键”来获得值的。话虽如此,你可以这样做:
这样我们就创建了一个具有所需顺序的 new 字典,因为
"location"
键靠近条目的开头,所以我们弹出第一个键-值对,然后插入"location"
键,再用**
操作符解包其余的键。nnsrf1az2#
但是你也可以做一个简单的破解来保持它的顺序,就像这样