fork(1) download
  1. import json, copy
  2. from io import StringIO
  3.  
  4. sampleFile = StringIO('''
  5. [{"something": "else"}, {"LastEvent": "ArmReoriented", "visible": true}]
  6. ''')
  7.  
  8. def hideReorientedArm(obj):
  9. if isinstance(obj, dict):
  10. if obj.get("LastEvent") == "ArmReoriented" and obj.get("visible") is True:
  11. obj["visible"] = False
  12. return obj
  13.  
  14. def walk(obj, updateFn):
  15. if isinstance(obj, list):
  16. obj = [walk(elem, updateFn) for elem in obj]
  17. elif isinstance(obj, dict):
  18. obj = {k: walk(v, updateFn) for k, v in obj.items()}
  19. return updateFn(obj)
  20.  
  21. data = json.load(sampleFile)
  22. data = walk(data, hideReorientedArm)
  23. print(json.dumps(data))
  24.  
Success #stdin #stdout 0.04s 9664KB
stdin
Standard input is empty
stdout
[{"something": "else"}, {"LastEvent": "ArmReoriented", "visible": false}]