| 1234567891011121314151617181920212223242526272829303132333435363738 |
- """JSON serialize to/from utf8 bytes
- .. versionchanged:: 22.2
- Remove optional imports of different JSON implementations.
- Now that we require recent Python, unconditionally use the standard library.
- Custom JSON libraries can be used via custom serialization functions.
- """
- # Copyright (C) PyZMQ Developers
- # Distributed under the terms of the Modified BSD License.
- from __future__ import annotations
- import json
- from typing import Any
- # backward-compatibility, unused
- jsonmod = json
- def dumps(o: Any, **kwargs) -> bytes:
- """Serialize object to JSON bytes (utf-8).
- Keyword arguments are passed along to :py:func:`json.dumps`.
- """
- return json.dumps(o, **kwargs).encode("utf8")
- def loads(s: bytes | str, **kwargs) -> dict | list | str | int | float:
- """Load object from JSON bytes (utf-8).
- Keyword arguments are passed along to :py:func:`json.loads`.
- """
- if isinstance(s, bytes):
- s = s.decode("utf8")
- return json.loads(s, **kwargs)
- __all__ = ['dumps', 'loads']
|