code: def _object_to_json(
      self,
      obj_type,
      run_id=None,
      step_name=None,
      task_id=None,
      tags=None,
      sys_tags=None,
  ):
      if obj_type == "task":
          return self._task_to_json(
              run_id, step_name, task_id, tags, sys_tags
          )
      if obj_type == "step":
          return self._step_to_json(run_id, step_name, tags, sys_tags)
      if obj_type == "run":
          return self._run_to_json(run_id, tags, sys_tags)
      return self._flow_to_json()
  
imports: import json
  import os
  import re
  import time
  from collections import namedtuple
  from itertools import chain
  from metaflow.exception import MetaflowInternalError, MetaflowTaggingError
  from metaflow.tagging_util import validate_tag
  from metaflow.util import get_username, resolve_identity_as_tuple, is_stringish
label_desc: Use image node_id 26 for calling the MetadataProvider obj's underlying member method code with example usage: obj._object_to_json(obj_type, run_id, step_name, task_id, tags, sys_tags) and returns: self, self, self, self