package rpc import ( "encoding/json" ) // UnmarshalJSON deserializes JSON into a RPC message func (m *Msg) UnmarshalJSON(data []byte) error { return m.unmarshalGeneric(data, json.Unmarshal) } // MarshalJSON serializes a RPC message into JSON func (m *Msg) MarshalJSON() ([]byte, error) { msg := &msgMeta{msgAlias: (*msgAlias)(m)} msg.MarshalPrepare() d, err := json.Marshal(msg) if err == nil { m.rawBytes = d } return d, err }