Python 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

我正在导入一个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
        ... # 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()
只进行浅层复制,因此嵌套对象仍然存在问题。看见