code: def default(self, o):
      if isinstance(o, Benchmark):
          return BenchmarkCodec.encode(o)
  
      if isinstance(o, BenchmarkSuite):
          return BenchmarkSuiteCodec.encode(o)
  
      if isinstance(o, BenchmarkRunner):
          return BenchmarkRunnerCodec.encode(o)
  
      if isinstance(o, BenchmarkComparator):
          return BenchmarkComparatorCodec.encode(o)
  
      return json.JSONEncoder.default(self, o)
  
file_path: arrow/dev/archery/archery/benchmark/codec.py
imports: import json
  from ..benchmark.core import Benchmark, BenchmarkSuite
  from ..benchmark.runner import BenchmarkRunner, StaticBenchmarkRunner
  from ..benchmark.compare import BenchmarkComparator
label_desc: Use image node_id 1 for calling the JsonEncoder obj's underlying member method code with example usage: obj.default(o) and returns: json, BenchmarkCodec, BenchmarkSuiteCodec, BenchmarkRunnerCodec, BenchmarkComparatorCodec