code: def save_data(self, uuid, card_type, json_data, card_id=None):
      card_file_name = card_type
      loc = self.get_card_location(
          self._get_data_write_path(),
          card_file_name,
          uuid,
          card_id=card_id,
          suffix=CardNameSuffix.DATA,
      )
      self._backend.save_bytes(
          [(loc, BytesIO(json.dumps(json_data).encode("utf-8")))],
          overwrite=True,
      )
  
imports: from collections import namedtuple
  from io import BytesIO
  import os
  import json
  import shutil
  from metaflow.plugins.datastores.local_storage import LocalStorage
  from metaflow.metaflow_config import CARD_S3ROOT, CARD_LOCALROOT, DATASTORE_LOCAL_DIR, CARD_SUFFIX, CARD_AZUREROOT, CARD_GSROOT, SKIP_CARD_DUALWRITE
  import metaflow.metaflow_config
  from .exception import CardNotPresentException
label_desc: Use image node_id 10 for calling the CardDatastore obj's underlying member method code with example usage: obj.save_data(uuid, card_type, json_data, card_id) without return types