code: def print_json(
      json: Optional[str] = None,
      *,
      data: Any = None,
      indent: Union[None, int, str] = 2,
      highlight: bool = True,
      skip_keys: bool = False,
      ensure_ascii: bool = False,
      check_circular: bool = True,
      allow_nan: bool = True,
      default: Optional[Callable[[Any], Any]] = None,
      sort_keys: bool = False,
  ) -> None:
      """Pretty prints JSON. Output will be valid JSON.
  
      Args:
          json (str): A string containing JSON.
          data (Any): If json is not supplied, then encode this data.
          indent (int, optional): Number of spaces to indent. Defaults to 2.
          highlight (bool, optional): Enable highlighting of output: Defaults to True.
          skip_keys (bool, optional): Skip keys not of a basic type. Defaults to False.
          ensure_ascii (bool, optional): Escape all non-ascii characters. Defaults to False.
          check_circular (bool, optional): Check for circular references. Defaults to True.
          allow_nan (bool, optional): Allow NaN and Infinity values. Defaults to True.
          default (Callable, optional): A callable that converts values that can not be encoded
              in to something that can be JSON encoded. Defaults to None.
          sort_keys (bool, optional): Sort dictionary keys. Defaults to False.
      """
  
      get_console().print_json(
          json,
          data=data,
          indent=indent,
          highlight=highlight,
          skip_keys=skip_keys,
          ensure_ascii=ensure_ascii,
          check_circular=check_circular,
          allow_nan=allow_nan,
          default=default,
          sort_keys=sort_keys,
      )
  
file_path: rich/rich/__init__.py
imports: import os
  from typing import IO, TYPE_CHECKING, Any, Callable, Optional, Union
  from ._extension import load_ipython_extension
label_desc: Use image node_id 4 for calling a global function with example usage: print_json(json) without return types