json_codec.go 505 B

123456789101112131415161718192021222324
  1. package codec
  2. import (
  3. "encoding/json"
  4. "io"
  5. )
  6. type JsonCodec struct{}
  7. func (codec *JsonCodec) EncodeTo(w io.Writer, i interface{}) (err error) {
  8. return json.NewEncoder(w).Encode(i)
  9. }
  10. func (codec *JsonCodec) DecodeFrom(r io.Reader, i interface{}) (err error) {
  11. return json.NewDecoder(r).Decode(i)
  12. }
  13. func (codec *JsonCodec) Encode(i interface{}) (b []byte, err error) {
  14. return json.Marshal(i)
  15. }
  16. func (codec *JsonCodec) Decode(b []byte, i interface{}) (err error) {
  17. return json.Unmarshal(b, i)
  18. }