擅长:python、mysql、java
<p>我终于弄到了:</p>
<pre><code>class NestedDict(collections.OrderedDict):
"""Implementation of perl's autovivification feature."""
def __getitem__(self, item):
try:
return dict.__getitem__(self, item)
except KeyError:
value = self[item] = type(self)()
return value
def mergejsons(jsns):
##use auto vification Nested Dict
op=nesteddict.NestedDict()
for j in jsns:
jdata=json.load(open(j))
jname=j.split('.')[0][-2:]
for commnkey,val in jdata.items():
for k,v in val.items():
if k!='commonkey':
op[commnkey][k][jname]=v
if op[commnkey].has_key('commonkey'):
continue
else:
op[commnkey][k][jname]=v
</code></pre>