You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			39 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
"""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']
 |