Python JSON作为模板:未清除
我正在导入一个JSON文件,并将其用作模板,在模板上修改一些属性Python JSON作为模板:未清除,python,json,Python,Json,我正在导入一个JSON文件,并将其用作模板,在模板上修改一些属性 with open('example.json') as data_file: j = json.load(data_file) ... # and within a loop: with open('output.json', 'w') as outfile: activejson = j # I would like this to reset or pull fresh from j
with open('example.json') as data_file:
j = json.load(data_file)
... # and within a loop:
with open('output.json', 'w') as outfile:
activejson = j # I would like this to reset or pull fresh from j
... # modify properties here
json.dump(activejson, outfile, indent=4)
activejson
并没有在循环的每次迭代中都刷新模板j
。(我能够在“modify properties here”区域中从以前的迭代中提取旧的、修改过的值。)我的理解是,activejson
指向j
,而不是用作副本,但是activejson=j.copy()
似乎也不起作用,activejson={}
。在每次迭代后清空此变量并重新提取模板的正确命令/方法是什么?处理这个问题最有效的方法是什么?因为JSON通常是作为嵌套对象构造的,所以您需要使用copy.deepcopy
activejson = copy.deepcopy(j)
由于JSON通常被构造为嵌套对象,因此需要使用
copy.deepcopy
activejson = copy.deepcopy(j)
j.copy()
只进行浅层复制,因此嵌套对象仍然存在问题。请参见j.copy()
只进行浅层复制,因此嵌套对象仍然存在问题。看见