我写了一个自定义的钩子,当输入字符串在python中是有效的字典时,该钩子就可以使用,但是在有效的列表中,它就不起作用。
[1,2]
是有效的json,但是如果我使用自定义钩子将其传递给json.loads
,则不会调用该钩子。
import json
def my_hook(object):
print("{} : {}".format(type(object), object))
return object
l = json.dumps([1,2])
d = json.dumps({'a': 8})
# my_hook is being called in this case
json.loads(d, object_hook=my_hook)
# my_hook is not being called in this case
json.loads(l, object_hook=my_hook)