package container

import (
	"encoding/json"
)

// MarshalJSON serializes the container as a JSON byte array.
func (c *Container) MarshalJSON() ([]byte, error) {
	return json.Marshal(c.CompileData())
}

// UnmarshalJSON unserializes a container from a JSON byte array.
func (c *Container) UnmarshalJSON(data []byte) error {
	var raw []byte
	if err := json.Unmarshal(data, &raw); err != nil {
		return err
	}

	c.compartments = [][]byte{raw}
	return nil
}