import json, copy
from io import StringIO

sampleFile = StringIO('''
[{"something": "else"}, {"LastEvent": "ArmReoriented", "visible": true}]
''')

def hideReorientedArm(obj):
    if isinstance(obj, dict):
        if obj.get("LastEvent") == "ArmReoriented" and obj.get("visible") is True:
            obj["visible"] = False
    return obj

def walk(obj, updateFn):
    if isinstance(obj, list):
        obj = [walk(elem, updateFn) for elem in obj]
    elif isinstance(obj, dict):
        obj = {k: walk(v, updateFn) for k, v in obj.items()}
    return updateFn(obj)

data = json.load(sampleFile)
data = walk(data, hideReorientedArm)
print(json.dumps(data))
