37 lines
1.2 KiB
Python
Executable file
37 lines
1.2 KiB
Python
Executable file
#!/usr/bin/env python3
|
|
import json
|
|
|
|
fields = {}
|
|
|
|
def fielding(jsons, out, field = None):
|
|
for key, value in jsons.items():
|
|
if field is None:
|
|
if key not in out:
|
|
out[key] = set()
|
|
if isinstance(value, dict):
|
|
fielding(value, out, nulls = nulls, field = key)
|
|
elif isinstance(value, list):
|
|
for i in value:
|
|
if isinstance(i, dict):
|
|
fielding(i, out, nulls = nulls, field = key)
|
|
else:
|
|
out[key].add(value)
|
|
else:
|
|
out[field].add(key)
|
|
if isinstance(value, dict):
|
|
if key not in out:
|
|
out[key] = set()
|
|
fielding(value, out, nulls = nulls, field = key)
|
|
elif isinstance(value, list):
|
|
out[key] = set()
|
|
for i in value:
|
|
if isinstance(i, dict):
|
|
fielding(i, out, nulls = nulls, field = key)
|
|
return out, nulls
|
|
|
|
|
|
|
|
with open(r"/home/swebb/Downloads/musicbrainz.org.json", encoding='utf-8') as file:
|
|
data = json.load(file)
|
|
testout = fielding(data, fields)
|
|
print(nulled)
|