// Package json provides a json codec package json import ( "encoding/json" "io" "github.com/micro/go-micro/codec" ) type Codec struct { Conn io.ReadWriteCloser Encoder *json.Encoder Decoder *json.Decoder } func (c *Codec) ReadHeader(m *codec.Message, t codec.MessageType) error { return nil } func (c *Codec) ReadBody(b interface{}) error { return c.Decoder.Decode(b) } func (c *Codec) Write(m *codec.Message, b interface{}) error { return c.Encoder.Encode(b) } func (c *Codec) Close() error { return c.Conn.Close() } func (c *Codec) String() string { return "json" } func NewCodec(c io.ReadWriteCloser) codec.Codec { return &Codec{ Conn: c, Decoder: json.NewDecoder(c), Encoder: json.NewEncoder(c), } }