Documentation ¶
Overview ¶
Package json allows for different implementations of JSON serializing, as well as extra optional types needed.
Index ¶
- func DecodeStream(r io.Reader, v interface{}) error
- func EncodeStream(w io.Writer, v interface{}) error
- func Marshal(v interface{}) ([]byte, error)
- func PartialUnmarshal(b []byte, v interface{}) []error
- func Unmarshal(data []byte, v interface{}) error
- type DefaultDriver
- type Driver
- type Marshaler
- type Raw
- type Unmarshaler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DecodeStream ¶
DecodeStream uses the default driver.
func EncodeStream ¶
EncodeStream uses the default driver.
func PartialUnmarshal ¶ added in v3.2.0
PartialUnmarshal partially unmarshals the JSON in b onto v. Fields that cannot be unmarshaled will be left as their zero values. Fields that can be marshaled will be unmarshaled and its name will be added to the returned slice.
Only use this for the most cursed of JSONs, such as ones coming from Discord. Try not to use this as much as possible.
Types ¶
type DefaultDriver ¶
type DefaultDriver struct{}
func (DefaultDriver) DecodeStream ¶
func (d DefaultDriver) DecodeStream(r io.Reader, v interface{}) error
func (DefaultDriver) EncodeStream ¶
func (d DefaultDriver) EncodeStream(w io.Writer, v interface{}) error
func (DefaultDriver) Marshal ¶
func (d DefaultDriver) Marshal(v interface{}) ([]byte, error)
func (DefaultDriver) Unmarshal ¶
func (d DefaultDriver) Unmarshal(data []byte, v interface{}) error
type Driver ¶
type Driver interface { Marshal(v interface{}) ([]byte, error) Unmarshal(data []byte, v interface{}) error DecodeStream(r io.Reader, v interface{}) error EncodeStream(w io.Writer, v interface{}) error }
var Default Driver = DefaultDriver{}
Default is the default JSON driver, which uses encoding/json.
type Raw ¶
type Raw []byte
Raw is a raw encoded JSON value. It implements Marshaler and Unmarshaler and can be used to delay JSON decoding or precompute a JSON encoding. It's taken from encoding/json.
func (Raw) MarshalJSON ¶
Raw returns m as the JSON encoding of m.