Skip to navigation
Loop a Python JSON recursively
03.12.23
Python recursively traverse json ```python def parseJson(obj, newObj): for k in obj: # When it is a list if isinstance(obj, list): if isinstance(k, list): if isinstance(newObj, list): newObj.append(parseJson(k, list())) elif isinstance(newObj, dict): newObj[k] = parseJson(k, list()) elif isinstance(k, dict): if isinstance(newObj, list): newObj.append(parseJson(k, dict())) elif isinstance(newObj, dict): newObj[k] = parseJson(k, dict()) else: # This paragraph judge key if isinstance(newObj, list): newObj.append(k) elif isinstance(newObj, dict): newObj[k] = k # When dict elif isinstance(obj, dict): if isinstance(obj[k], list): if isinstance(newObj, list): newObj.append(parseJson(obj[k], list())) elif isinstance(newObj, dict): newObj[k] = parseJson(obj[k], list()) elif isinstance(obj[k], dict): if isinstance(newObj, list): newObj.append(parseJson(obj[k], dict())) elif isinstance(newObj, dict): newObj[k] = parseJson(obj[k], dict()) else: # This paragraph judge key if isinstance(newObj, list): newObj.append(obj[k]) elif isinstance(newObj, dict): newObj[k] = obj[k] return newObj obj = { "a": 1, "b": { "c": 2, "d": 3, "e": 4, "f": [5, 6, {"g": 7, "h": 8}] } } newObj = dict() parseJson(obj, newObj) print(f"newObj --> {newObj}") ```
https://www.programmersought.com/article/91306259135/
Reply
Anonymous
Information Epoch 1738730591
Think parallel.
Home
Notebook
Contact us