func UnmarshalContext(ctx context.Context, data []byte, v interface{}, optFuncs ...DecodeOptionFunc) error {
	return unmarshalContext(ctx, data, v)
}
UnmarshalContext parses the JSON-encoded data and stores the result
in the value pointed to by v. If you implement the UnmarshalerContext interface,
call it with ctx as an argument.
package json
import (
	"bytes"
	"context"
	"encoding/json"
	"github.com/gofiber/fiber/v2/internal/go-json/encoder"
)
type Marshaler interface {
	MarshalJSON() ([]byte, error)
}
type MarshalerContext interface {
	MarshalJSON(context.Context) ([]byte, error)
}
type Unmarshaler interface {
	UnmarshalJSON([]byte) error
}
type UnmarshalerContext interface {
	UnmarshalJSON(context.Context, []byte) error
}
func Marshal(v interface{}) ([]byte, error) {
	return MarshalWithOption(v)
}
func MarshalNoEscape(v interface{}) ([]byte, error) {
	return marshalNoEscape(v)
}
func MarshalContext(ctx context.Context, v interface{}, optFuncs ...EncodeOptionFunc) ([]byte, error) {
	return marshalContext(ctx, v, optFuncs...)
}
func MarshalWithOption(v interface{}, optFuncs ...EncodeOptionFunc) ([]byte, error) {
	return marshal(v, optFuncs...)
}
func MarshalIndent(v interface{}, prefix, indent string) ([]byte, error) {
	return MarshalIndentWithOption(v, prefix, indent)
}
func MarshalIndentWithOption(v interface{}, prefix, indent string, optFuncs ...EncodeOptionFunc) ([]byte, error) {
	return marshalIndent(v, prefix, indent, optFuncs...)
}
func Unmarshal(data []byte, v interface{}) error {
	return unmarshal(data, v)
}