我有一个类似的Json结构:
{
"test": [
{
"name1": "tap",
"name2": "Tik; eev; asdv; asdfa; sadf"
},
{
"name1": "Pap",
"name2": "Tik; eev; asdv; asdfa; sadf"
}
]
}
我希望键name2
的value
是一个列表。例如:
将value
"Tik; eev; asdv; asdfa; sadf"
替换为['Tik', ' eev', ' asdv', ' asdfa', ' sadf']
这就是我所做的,但是我不能将json更新为新的json
import json
with open('testJson.json') as f:
data = json.load(f)
for x in data['test']:
string = x['name2']
my_list = string.split(";")
string = my_list
with open('testdata.json', 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=4)
当我打开testdata.json
它是一样的
当你这么做的时候
你得到的字符串没有上下文。-
string
只是一个存储某些内容的名称,它没有链接回ingredient
字典您需要将这里的最后一行更改为
ingredient['name2'] = my_list
,这样您就可以更改字典的内部内容,而不是某些本地字符串您需要将拆分列表分配回数据。在代码中,您只是在丢弃它。您将
x['name2']
视为对字符串的引用,而不是字符串值。不能将它赋给另一个变量并期望它反映在数据结构中—需要用新值显式更新数据结构相关问题 更多 >
编程相关推荐