Flags describe various encoding options. The behavior may be actually implemented in the encoder, but Flags field in Writer is used to set and pass them around.
type Flags int
const ( NilMapAsEmpty Flags = 1 << iota // Encode nil map as '{}' rather than 'null'. NilSliceAsEmpty // Encode nil slice as '[]' rather than 'null'. )
Writer is a JSON writer.
type Writer struct { Flags Flags Error error Buffer buffer.Buffer NoEscapeHTML bool }
func (w *Writer) Base64Bytes(data []byte)
Base64Bytes appends data to the buffer after base64 encoding it
func (w *Writer) Bool(v bool)
func (w *Writer) BuildBytes(reuse ...[]byte) ([]byte, error)
BuildBytes returns writer data as a single byte slice. You can optionally provide one byte slice as argument that it will try to reuse.
func (w *Writer) DumpTo(out io.Writer) (written int, err error)
DumpTo outputs the data to given io.Writer, resetting the buffer.
func (w *Writer) Float32(n float32)
func (w *Writer) Float32Str(n float32)
func (w *Writer) Float64(n float64)
func (w *Writer) Float64Str(n float64)
func (w *Writer) Int(n int)
func (w *Writer) Int16(n int16)
func (w *Writer) Int16Str(n int16)
func (w *Writer) Int32(n int32)
func (w *Writer) Int32Str(n int32)
func (w *Writer) Int64(n int64)
func (w *Writer) Int64Str(n int64)
func (w *Writer) Int8(n int8)
func (w *Writer) Int8Str(n int8)
func (w *Writer) IntStr(n int)
func (w *Writer) Raw(data []byte, err error)
Raw appends raw binary data to the buffer or sets the error if it is given. Useful for calling with results of MarshalJSON-like functions.
func (w *Writer) RawByte(c byte)
RawByte appends raw binary data to the buffer.
func (w *Writer) RawString(s string)
RawByte appends raw binary data to the buffer.
func (w *Writer) RawText(data []byte, err error)
RawText encloses raw binary data in quotes and appends in to the buffer. Useful for calling with results of MarshalText-like functions.
func (w *Writer) ReadCloser() (io.ReadCloser, error)
ReadCloser returns an io.ReadCloser that can be used to read the data. ReadCloser also resets the buffer.
func (w *Writer) Size() int
Size returns the size of the data that was written out.
func (w *Writer) String(s string)
func (w *Writer) Uint(n uint)
func (w *Writer) Uint16(n uint16)
func (w *Writer) Uint16Str(n uint16)
func (w *Writer) Uint32(n uint32)
func (w *Writer) Uint32Str(n uint32)
func (w *Writer) Uint64(n uint64)
func (w *Writer) Uint64Str(n uint64)
func (w *Writer) Uint8(n uint8)
func (w *Writer) Uint8Str(n uint8)
func (w *Writer) UintStr(n uint)
func (w *Writer) UintptrStr(n uintptr)