Skip to content

Instantly share code, notes, and snippets.

@rnrbarbosa
Created May 26, 2019 22:31
Show Gist options
  • Save rnrbarbosa/e0db1cd02cdfdb8a44e88a392835fb71 to your computer and use it in GitHub Desktop.
Save rnrbarbosa/e0db1cd02cdfdb8a44e88a392835fb71 to your computer and use it in GitHub Desktop.
FLATTEN JSON
def flatten_json(nested_json):
"""
Flatten json object with nested keys into a single level.
Args:
nested_json: A nested json object.
Returns:
The flattened json object if successful, None otherwise.
"""
out = {}
def flatten(x, name=''):
if type(x) is dict:
for a in x:
flatten(x[a], name + a + '_')
elif type(x) is list:
i = 0
for a in x:
flatten(a, name + str(i) + '_')
i += 1
else:
out[name[:-1]] = x
flatten(nested_json)
return out
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment