<p>如果ID不符合顺序并且JSON没有相同的项,这将起作用</p>
<pre><code>import json
with open("json_a.json","r") as first, open("json_b.json","r") as second :
b = json.load(first,object_pairs_hook=lambda x: x[0])
c = json.load(second,object_pairs_hook=lambda x: x[1])
b = [ _[1] for _ in b]
c = [ _[1] for _ in c]
with open("json_a.json","r") as first:
for each_line in json.load(first):
for uniq_id in list(set(b).difference(c)):
if each_line['r_id']== uniq_id :
print(each_line)
</code></pre>
<p>另一种方法:</p>
<pre><code>import json
with open("json_a.json","r") as first, open("json_b.json","r") as second :
b = json.load(first)
c = json.load(second)
b_ids=[x['r_id'] for x in b]
c_ids=[x['id'] for x in c]
for each_item in b:
for uniq_id in list(set(b_ids).difference(c_ids)):
if each_item['r_id'] == uniq_id:
print(each_item)
</code></pre>
<p>写入文件:</p>
<pre><code># Serializing json
json_object = json.dumps(each_item)
# Writing to sample.json
with open("sample.json", "w") as outfile:
outfile.write(json_object)
</code></pre>
<p>有关文件写入选项的更多详细信息,请参见<a href="https://www.w3schools.com/python/python_file_write.asp" rel="nofollow noreferrer">here</a></p>