code: def import_json(self, operation_object: dict):
      required_fields = [
          "operation_id",
          "operation_type",
          "params",
          "nodes_from",
      ]
      self._validate_json_operation_template(
          operation_object, required_fields
      )
  
      self.operation_id = operation_object["operation_id"]
      self.operation_type = operation_object["operation_type"]
      self.params = operation_object["params"]
      if "dtype" in self.params and isinstance(
          self.params["dtype"], str
      ):
          self.params["dtype"] = np.dtype(self.params["dtype"])
      self.nodes_from = operation_object["nodes_from"]
      if "fitted_operation_path" in operation_object:
          fitted_operation_path = operation_object[
              "fitted_operation_path"
          ]
          if isinstance(fitted_operation_path, str):
              self.fitted_operation_path = fitted_operation_path
          elif isinstance(fitted_operation_path, list):
              # Path were set as folders and files in tuple or list
              self.fitted_operation_path = os.path.join(
                  *fitted_operation_path[:2]
              )
  
      if "custom_params" in operation_object:
          self.custom_params = operation_object["custom_params"]
      if "operation_name" in operation_object:
          self.operation_name = operation_object["operation_name"]
      if "rating" in operation_object:
          self.rating = operation_object["rating"]
  
imports: import os
  from abc import ABC, abstractmethod
  from io import BytesIO
  from typing import Any, Optional, Union
  import joblib
  import numpy
  from golem.core.log import default_log
  from fedot.core.pipelines.node import PipelineNode
label_desc: Use image node_id 7 for calling the OperationTemplate obj's underlying member method code with example usage: obj.import_json(operation_object) without return types