Package jsonpb
Overview ▹
Index ▹
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 JSONPBMarshaler ¶
JSONPBMarshaler is implemented by protobuf messages that customize the way they are marshaled to JSON. Messages that implement this should also implement JSONPBUnmarshaler so that the custom format can be parsed.
type JSONPBMarshaler interface { MarshalJSONPB(*Marshaler) ([]byte, error) }
type JSONPBUnmarshaler ¶
JSONPBUnmarshaler is implemented by protobuf messages that customize the way they are unmarshaled from JSON. Messages that implement this should also implement JSONPBMarshaler so that the custom format can be produced.
type JSONPBUnmarshaler interface { UnmarshalJSONPB(*Unmarshaler, []byte) error }
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. |