擅长:python、mysql、java
<p>一个简单的解决方案是迭代每个JSON对象,并在您看到的每个“commonkey”中添加字典对。下面是一个示例,您可以在列表中加载每个JSON文件,然后迭代地合并它们。在</p>
<pre><code>#!/usr/bin/python
import json
# Hardcoded list of JSON files
dbs = [ "db1.json", "db2.json" ]
output = dict() # stores all the merged output
for db in dbs:
# Name the JSON obj and load it
db_name = db.split(".json")[0]
obj = json.load(open(db))
# Iterate through the common keys, adding them only if they're new
for common_key, data in obj.items():
if common_key not in output:
output[common_key] = dict(commonkey=data["commonkey"])
# Within each common key, add key, val pairs
# subindexed by the database name
for key, val in data.items():
if key != "commonkey":
if key in output[common_key]:
output[common_key][key][db_name] = val
else:
output[common_key][key] = {db_name: val}
# Output resulting json to file
open("dboutput.json", "w").write(
json.dumps( output, sort_keys=True, indent=4, separators=(',', ': ') )
)
</code></pre>