class_docstr: Generate a profile report from a Dataset stored as a pandas `DataFrame`.
  
  Used as is, it will output its content as an HTML report in a Jupyter notebook.
class_docstr_tok: ["Generate","a","profile","report","from","a","Dataset","stored","as","a","pandas","`","DataFrame","`",".","Used","as","is",",","it","will","output","its","content","as","an","HTML","report","in","a","Jupyter","notebook","."]
code: def _render_json(self) -> str:
      def encode_it(o: Any) -> Any:
          if is_dataclass(o):
              o = asdict(o)
          if isinstance(o, dict):
              return {encode_it(k): encode_it(v) for k, v in o.items()}
          else:
              if isinstance(o, (bool, int, float, str)):
                  return o
              elif isinstance(o, list):
                  return [encode_it(v) for v in o]
              elif isinstance(o, set):
                  return {encode_it(v) for v in o}
              elif isinstance(o, (pd.DataFrame, pd.Series)):
                  return encode_it(o.to_dict(orient="records"))
              elif isinstance(o, np.ndarray):
                  return encode_it(o.tolist())
              elif isinstance(o, Sample):
                  return encode_it(o.dict())
              elif isinstance(o, np.generic):
                  return o.item()
              else:
                  return str(o)
  
      description = self.description_set
  
      with tqdm(
          total=1,
          desc="Render JSON",
          disable=not self.config.progress_bar,
      ) as pbar:
          description_dict = format_summary(description)
          description_dict = encode_it(description_dict)
          description_dict = redact_summary(
              description_dict, self.config
          )
  
          data = json.dumps(description_dict, indent=4)
          pbar.update()
      return data
  
imports: import copy
  import json
  import warnings
  from pathlib import Path
  from typing import Any, Optional, Union
  from dataclasses import asdict, is_dataclass
  import numpy
  import pandas
  from tqdm.auto import tqdm
  from typeguard import typechecked
  from visions import VisionsTypeset
  from ydata_profiling.config import Config, Settings, SparkSettings
  from ydata_profiling.expectations_report import ExpectationsReport
  from ydata_profiling.model import BaseDescription
  from ydata_profiling.model.alerts import AlertType
  from ydata_profiling.model.describe import describe
  from ydata_profiling.model.sample import Sample
  from ydata_profiling.model.summarizer import BaseSummarizer, PandasProfilingSummarizer, format_summary, redact_summary
  from ydata_profiling.model.typeset import ProfilingTypeSet
  from ydata_profiling.report import get_report_structure
  from ydata_profiling.report.presentation.core import Root
  from ydata_profiling.report.presentation.flavours.html.templates import create_html_assets
  from ydata_profiling.serialize_report import SerializeReport
  from ydata_profiling.utils.dataframe import hash_dataframe
  from ydata_profiling.utils.paths import get_config
label_desc: Use image node_id 20 for calling the ProfileReport obj's underlying member method code with example usage: obj._render_json() and returns: data, unknown, o, unknown, unknown, encode_it, encode_it, encode_it, o, str