Skip to content

Instantly share code, notes, and snippets.

@JoshCrosby
Forked from toddbirchard/json_extract.py
Created August 25, 2020 20:57
Show Gist options
  • Save JoshCrosby/28e4a66add791751166bf3c6a1f14221 to your computer and use it in GitHub Desktop.
Save JoshCrosby/28e4a66add791751166bf3c6a1f14221 to your computer and use it in GitHub Desktop.
"""Extract nested values from a JSON tree."""
def json_extract(obj, key):
"""Recursively fetch values from nested JSON."""
arr = []
def extract(obj, arr, key):
"""Recursively search for values of key in JSON tree."""
if isinstance(obj, dict):
for k, v in obj.items():
if isinstance(v, (dict, list)):
extract(v, arr, key)
elif k == key:
arr.append(v)
elif isinstance(obj, list):
for item in obj:
extract(item, arr, key)
return arr
values = extract(obj, arr, key)
return values
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment