func (r Request) MarshalJSON() ([]byte, error) {
	r2 := struct {
		Method  string           `json:"method"`
		Params  *json.RawMessage `json:"params,omitempty"`
		ID      *ID              `json:"id,omitempty"`
		Meta    *json.RawMessage `json:"meta,omitempty"`
		JSONRPC string           `json:"jsonrpc"`
	}{
		Method:  r.Method,
		Params:  r.Params,
		Meta:    r.Meta,
		JSONRPC: "2.0",
	}
	if !r.Notif {
		r2.ID = &r.ID
	}
	return json.Marshal(r2)
}
func (r Request) MarshalJSON() ([]byte, error) {
	r2 := struct {
		Method  string           `json:"method"`
		Params  *json.RawMessage `json:"params,omitempty"`
		ID      *ID              `json:"id,omitempty"`
		Meta    *json.RawMessage `json:"meta,omitempty"`
		JSONRPC string           `json:"jsonrpc"`
	}{
		Method:  r.Method,
		Params:  r.Params,
		Meta:    r.Meta,
		JSONRPC: "2.0",
	}
	if !r.Notif {
		r2.ID = &r.ID
	}
	return json.Marshal(r2)
}
func ( r Request ) MarshalJSON ( ) ( [ ] byte , error ) { r2 := struct { Method string `json:"method"` Params * json . RawMessage `json:"params,omitempty"` ID * ID `json:"id,omitempty"` Meta * json . RawMessage `json:"meta,omitempty"` JSONRPC string `json:"jsonrpc"` } { Method : r . Method , Params : r . Params , Meta : r . Meta , JSONRPC : " " , } if ! r . Notif { r2 . ID = & r . ID } return json . Marshal ( r2 ) }
// MarshalJSON implements json.Marshaler and adds the "jsonrpc":"2.0"
// property.
MarshalJSON implements json . Marshaler and adds the jsonrpc : 2 . 0 property .