import json, copy
from io import StringIO

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

def hideReorientedArm(obj):
    if isinstance(obj, dict):
        if obj.get("visible") is True:
            foundArmReoriented = False
            for (k,v) in obj.items():
                if v == "ArmReoriented":
                    foundArmReoriented = True
                    break
            if foundArmReoriented:
                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))
