json

package
v2.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 8, 2021 License: ISC Imports: 4 Imported by: 0

Documentation

Overview

Package json allows for different implementations of JSON serializing, as well as extra optional types needed.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DecodeStream

func DecodeStream(r io.Reader, v interface{}) error

DecodeStream uses the default driver.

func EncodeStream

func EncodeStream(w io.Writer, v interface{}) error

EncodeStream uses the default driver.

func Marshal

func Marshal(v interface{}) ([]byte, error)

Marshal uses the default driver.

func Unmarshal

func Unmarshal(data []byte, v interface{}) error

Unmarshal uses the default driver.

Types

type AlwaysString

type AlwaysString string

AlwaysString would always unmarshal into a string, from any JSON type. Quotes will be stripped.

func (AlwaysString) Int

func (m AlwaysString) Int() (int, error)

func (*AlwaysString) UnmarshalJSON

func (m *AlwaysString) UnmarshalJSON(data []byte) error

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 Marshaler

type Marshaler interface {
	MarshalJSON() ([]byte, error)
}

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

func (m Raw) MarshalJSON() ([]byte, error)

Raw returns m as the JSON encoding of m.

func (Raw) String

func (m Raw) String() string

func (*Raw) UnmarshalJSON

func (m *Raw) UnmarshalJSON(data []byte) error

func (Raw) UnmarshalTo

func (m Raw) UnmarshalTo(v interface{}) error

type Unmarshaler

type Unmarshaler interface {
	UnmarshalJSON([]byte) error
}

Directories

Path Synopsis
Package option provides the ability to create omittable primitives.
Package option provides the ability to create omittable primitives.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL