jsonpb - ActiveState ActiveGo 1.8
...

Package jsonpb

import "github.com/gogo/protobuf/jsonpb"
Overview
Index
Subdirectories

Overview ▾

Package jsonpb provides marshaling and unmarshaling between protocol buffers and JSON. It follows the specification at https://developers.google.com/protocol-buffers/docs/proto3#json.

This package produces a different output than the standard "encoding/json" package, which does not operate correctly on protocol buffers.

func Unmarshal

func Unmarshal(r io.Reader, pb proto.Message) error

Unmarshal unmarshals a JSON object stream into a protocol buffer. This function is lenient and will decode any options permutations of the related Marshaler.

func UnmarshalNext

func UnmarshalNext(dec *json.Decoder, pb proto.Message) error

UnmarshalNext unmarshals the next protocol buffer from a JSON object stream. This function is lenient and will decode any options permutations of the related Marshaler.

func UnmarshalString

func UnmarshalString(str string, pb proto.Message) error

UnmarshalString will populate the fields of a protocol buffer based on a JSON string. This function is lenient and will decode any options permutations of the related Marshaler.

type Marshaler

Marshaler is a configurable object for converting between protocol buffer objects and a JSON representation for them.

type Marshaler struct {
    // Whether to render enum values as integers, as opposed to string values.
    EnumsAsInts bool

    // Whether to render fields with zero values.
    EmitDefaults bool

    // A string to indent each level by. The presence of this field will
    // also cause a space to appear between the field separator and
    // value, and for newlines to be appear between fields and array
    // elements.
    Indent string

    // Whether to use the original (.proto) name for fields.
    OrigName bool
}

func (*Marshaler) Marshal

func (m *Marshaler) Marshal(out io.Writer, pb proto.Message) error

Marshal marshals a protocol buffer into JSON.

func (*Marshaler) MarshalToString

func (m *Marshaler) MarshalToString(pb proto.Message) (string, error)

MarshalToString converts a protocol buffer object to JSON string.

type Unmarshaler

Unmarshaler is a configurable object for converting from a JSON representation to a protocol buffer object.

type Unmarshaler struct {
    // Whether to allow messages to contain unknown fields, as opposed to
    // failing to unmarshal.
    AllowUnknownFields bool
}

func (*Unmarshaler) Unmarshal

func (u *Unmarshaler) Unmarshal(r io.Reader, pb proto.Message) error

Unmarshal unmarshals a JSON object stream into a protocol buffer. This function is lenient and will decode any options permutations of the related Marshaler.

func (*Unmarshaler) UnmarshalNext

func (u *Unmarshaler) UnmarshalNext(dec *json.Decoder, pb proto.Message) error

UnmarshalNext unmarshals the next protocol buffer from a JSON object stream. This function is lenient and will decode any options permutations of the related Marshaler.

Subdirectories

Name Synopsis
..
jsonpb_test_proto Package jsonpb is a generated protocol buffer package.