I’ve 3 json files. The first one have only one sentence (file1.json):
"Car":"Black"
The second one have only one sentence(file.json):
"Car":"White"
And the third one is a list of dictionaries (example.json)
[
{
"Person": "Alex",
"Age":3
},
{ "Country": "France",
"Job":"None"
}
]
And I want to insert the sentence of file1.json or file2.json just above "Person": "Alex" in example.json. I say file1.json or file2.json because only one exits depending on the circumstances.
I’ve tried this
from jsonmerge import merge result = merge(file1.json or file2.json, example.json)
But it’s difficult for me to insert that row wherever I want.
Advertisement
Answer
jsonmerge is not really intended to do that. I’m just guessing what you’re really trying to accomplish but I think you better just load the JSON via the Python internals and then form the desired JSON manually.
import json
with open('example.json', 'r') as f:
example = json.load(f)
with open('file1.json', 'r') as f:
file1 = json.load(f)
with open('file1.json', 'r') as f:
file2 = json.load(f)
if file1:
example[0]['Car'] = file1['Car']
elif file2:
example[0]['Car'] = file2['Car']
with open('example2.json', 'w') as f:
json.dump(example, f, indent=4)