mirror of https://github.com/ansible/ansible.git
Fix unbound method call for JSONEncoder (#17970)
* Fix unbound method call for JSONEncoder The way it is currently it will lead to unbound method error ```python In [1]: import json In [2]: json.JSONEncoder.default('object_here') --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-2-872fdacfda50> in <module>() ----> 1 json.JSONEncoder.default('object_here') TypeError: unbound method default() must be called with JSONEncoder instance as first argument (got str instance instead) ``` But what is really wanted is to let the json module to raise the "is not serializable error" which demands a bounded instance of `JSONEncoder()` ```python In [3]: json.JSONEncoder().default('object_here') --------------------------------------------------------------------------- TypeError: 'object_here' is not JSON serializable ``` BTW: I think it would try to call `.to_json` of object before raising as it is a common pattern. * Calling JSONEncoder bounded `default` method using super()pull/17972/head
parent
20aedf90e7
commit
b06fb2022c
Loading…
Reference in New Issue