class_docstr: Logs trial results in json format.
  
  Also writes to a results file and param.json file when results or
  configurations are updated. Experiments must be executed with the
  JsonLoggerCallback to be compatible with the ExperimentAnalysis tool.
code: def log_trial_result(
      self, iteration: int, trial: "Trial", result: Dict
  ):
      if trial not in self._trial_files:
          self.log_trial_start(trial)
      json.dump(
          result, self._trial_files[trial], cls=SafeFallbackEncoder
      )
      self._trial_files[trial].write("\n")
      self._trial_files[trial].flush()
  
imports: import json
  import logging
  import numpy
  import os
  from typing import TYPE_CHECKING, Dict, TextIO
  from ray.air.constants import EXPR_PARAM_FILE, EXPR_PARAM_PICKLE_FILE, EXPR_RESULT_FILE
  import ray.cloudpickle
  from ray.tune.logger.logger import _LOGGER_DEPRECATION_WARNING, Logger, LoggerCallback
  from ray.tune.utils.util import SafeFallbackEncoder
  from ray.util.annotations import Deprecated, PublicAPI
label_desc: Use image node_id 3 for calling the JsonLoggerCallback obj's underlying member method code with example usage: obj.log_trial_result(iteration, trial, result) without return types