s = """
{
    "outer": {
        "middle": {
            "inner": [1, 2, 3]
        }
    }
}
"""

def hook(obj):
    print(obj)
return obj
decoder = JSONDecoder(object_hook=hook)
decoder.decode(s)
Python JSON decode getting wrong value