Skip to content

Instantly share code, notes, and snippets.

@mickpah
Forked from toddbirchard/json_extract.py
Created August 17, 2020 11:03
Show Gist options
  • Select an option

  • Save mickpah/d5790f1c8d50328a3dc8667ff71d450a to your computer and use it in GitHub Desktop.

Select an option

Save mickpah/d5790f1c8d50328a3dc8667ff71d450a 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