code: func (c *IconComponent) MarshalJSON() ([]byte, error) {
  	return json.Marshal(&struct {
  		Type        FlexComponentType       `json:"type"`
  		URL         string                  `json:"url"`
  		Margin      FlexComponentMarginType `json:"margin,omitempty"`
  		Size        FlexIconSizeType        `json:"size,omitempty"`
  		AspectRatio FlexIconAspectRatioType `json:"aspectRatio,omitempty"`
  	}{
  		Type:        FlexComponentTypeIcon,
  		URL:         c.URL,
  		Margin:      c.Margin,
  		Size:        c.Size,
  		AspectRatio: c.AspectRatio,
  	})
  }
docs: // MarshalJSON method of IconComponent