How to change each value in a JSON in python -
output = {'name': 'stackoverflow', 'competitors': [{'competitor': 'bing', 'link': 'bing.com'}, {'competitor': 'google', 'link': 'google.com'}], 'acquisition': {'acquired_day': 16, 'acquired_month': 12, 'acquired_year': 2013, 'acquiring_company': {'name': 'viggle', 'permalink': 'viggle'}}} i have code looks this:
def traverse(obj): if isinstance(obj, dict): key, value in obj.iteritems(): print('dict_key', key) traverse(value) elif isinstance(obj, list): value in obj: traverse(value) else: print('value', obj) traverse(output) this code traverses whole json , prints each value , key. need set each value random string
if pass along reference parent , location values can make modifications in place:
def mangle(obj, parent = none, key = none): if isinstance(obj, dict): key, value in obj.iteritems(): mangle(value, obj, key) elif isinstance(obj, list): idx, value in enumerate(obj): mangle(value, obj, idx) else: parent[key] = 'nonsense' mangle(output) >>> pprint(output) {'acquisition': {'acquired_day': 'nonsense', 'acquired_month': 'nonsense', 'acquired_year': 'nonsense', 'acquiring_company': {'name': 'nonsense', 'permalink': 'nonsense'}}, 'competitors': [{'competitor': 'nonsense', 'link': 'nonsense'}, {'competitor': 'nonsense', 'link': 'nonsense'}], 'name': 'nonsense'}
Comments
Post a Comment