code: def test_json(self):
      body, mime_type = self._run_handler(
          EXPERIMENT, SESSION_GROUPS, download_data.OutputFormat.JSON
      )
      self.assertEqual("application/json", mime_type)
      expected_result = {
          "header": [
              "initial_temp",
              "final_temp",
              "string_hparam",
              "bool_hparam",
              "optional_string_hparam",
              "current_temp",
              "delta_temp",
              "optional_metric",
          ],
          "rows": [
              [270.0, 150.0, "a string", True, "", 10.0, 15.0, 33.0],
              [280.0, 100.0, "AAAAA", False, "", 51.0, 44.5, None],
              [
                  300.0,
                  1.2e-05,
                  "a string_3",
                  True,
                  "BB",
                  101.0,
                  -15100000.0,
                  None,
              ],
          ],
      }
      self.assertEqual(expected_result, body)
  
file_path: tensorboard/tensorboard/plugins/hparams/download_data_test.py
imports: from unittest import mock
  from google.protobuf import text_format
  import tensorflow
  from tensorboard.backend.event_processing import plugin_event_multiplexer
  from tensorboard.plugins import base_plugin
  from tensorboard.plugins.hparams import api_pb2
  from tensorboard.plugins.hparams import backend_context
  from tensorboard.plugins.hparams import download_data
label_desc: Use image node_id 5 for calling the DownloadDataTest obj's underlying member method code with example usage: obj.test_json() without return types