I second that..
json.load/loads and json.dump/dumps should be more understandable..

On Thu, 26 Dec, 2019, 04:50 python-ideas--- via Python-ideas, <python-ideas@python.org> wrote:
Well, `json` and the other modules could add another standard: `serialize` and `deserialize`

As an example, this is how I deserialize from a custom class:

    def __init__(self, source):
        path = None

        try:
            # most common case: JSON string
            self._data_raw = json.loads(source)
        except TypeError:
            try:
                # check if it's a dict-like object
                source.items
                self._data_raw = copy.deepcopy(source)
            except AttributeError:
                try:
                    # maybe a file object?
                    self._data_raw = json.load(f)
                except AttributeError:
                    # maybe a PathLike?
                    path = source
        except JSONDecodeError:
            # maybe a path string?
            path = source

        if path:
            with open(path) as f:
                self._data_raw = json.load(f)

Apart the `dict` check, this logic could be applied to a `json.deserialize()` function. Python let you function overloading more simple, so why not use it?
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-leave@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/6KZ54WSNMPB3PQELLDZAQ27SLSJPEVNS/
Code of Conduct: http://python.org/psf/codeofconduct/