func (j *Price) UnmarshalJSON(input []byte) error {
	fs := fflib.NewFFLexer(input)
	return j.UnmarshalJSONFFLexer(fs, fflib.FFParse_map_start)
}
UnmarshalJSON umarshall json - template of ffjson
package types
import (
	"bytes"
	"fmt"
	fflib "github.com/pquerna/ffjson/fflib/v1"
)
func (j *Price) MarshalJSON() ([]byte, error) {
	var buf fflib.Buffer
	if j == nil {
		buf.WriteString("null")
		return buf.Bytes(), nil
	}
	err := j.MarshalJSONBuf(&buf)
	if err != nil {
		return nil, err
	}
	return buf.Bytes(), nil
}
func (j *Price) MarshalJSONBuf(buf fflib.EncodingBuffer) error {
	if j == nil {
		buf.WriteString("null")
		return nil
	}
	var err error
	var obj []byte
	_ = obj
	_ = err
	buf.WriteString(`{"base":`)
	{
		err = j.Base.MarshalJSONBuf(buf)
		if err != nil {
			return err
		}
	}
	buf.WriteString(`,"quote":`)
	{
		err = j.Quote.MarshalJSONBuf(buf)
		if err != nil {
			return err
		}
	}
	buf.WriteByte('}')
	return nil
}
const (
	ffjtPricebase = iota
	ffjtPricenosuchkey
	ffjtPriceBase
	ffjtPriceQuote
)
var ffjKeyPriceBase = []byte("base")
var ffjKeyPriceQuote = []byte("quote")