code: def to_json(self):
      lDict = {}
      lDict["Structure"] = self.mStructure
      lDict["Models"] = {}
      for level in sorted(self.mModels.keys()):
          for signal in sorted(self.mModels[level].keys()):
              lEngine = self.mModels[level][signal]
              lDict["Models"][
                  signal
              ] = lEngine.mSignalDecomposition.mBestModel.to_json()
      return lDict
  
imports: import pandas
  import numpy
  from ..None import ForecastEngine
  from .None import Options
  from .None import Perf
  from .None import Utils
  from .None import Plots
  import time
label_desc: Use image node_id 3 for calling the cSignalHierarchy obj's underlying member method code with example usage: obj.to_json() and returns: lDict