
You have a JSON file and you are tired of getting the JSON just as a plain vanilla dictionary, then the following code using the namedtuple available in the collections module in standard python can come to your rescue
Here’s an example
from collections import namedtuple
import json
fname =r"D:\pool\JobFolder\INLT2916\1\run_1\sample_1.json"
with open(fname, "r") as fin:
data = json.load(fin)
def convert(dictionary):
for key, value in dictionary.items():
if isinstance(value, dict):
dictionary[key] = convert(value)
return namedtuple('GenericDict', dictionary.keys())(**dictionary)
objdata = convert(data)
Observe the convert definition. Now one can access its elements like
objdata.tasks.NXUpdate.start_date
objdata.metadata.running_tasks
Hope this helps someone.
Similar posts