code: def get_frontend_data_dict_for_plugin(request, plugin, editable):
      
      json_data = {}
      instance, plugin = plugin.get_plugin_instance()
  
      if not instance:
          return json_data
  
      renderer = renderer_pool.renderer_for_plugin(plugin)
      if renderer:
          json_data = renderer.render(request=request, plugin=plugin, instance=instance, editable=editable)
  
      if hasattr(plugin, 'parse_child_plugins') and plugin.parse_child_plugins:
          children = []
          for child_plugin in instance.get_children().order_by(settings.DJANGOCMS_SPA_PLUGIN_ORDER_FIELD):
              # Parse all children
              children.append(
                  get_frontend_data_dict_for_plugin(
                      request=request,
                      plugin=child_plugin,
                      editable=editable
                  )
              )
  
          if children:
              json_data['plugins'] = children
  
      return json_data
docs: Returns a serializable data dict of a CMS plugin and all its children. It expects a `render_json_plugin()` method
      from each plugin. Make sure you implement it for your custom plugins and monkey patch all third-party plugins.