github.com/zly-app/zapp@v1.3.3/pkg/serializer/jsoniter.go (about) 1 package serializer 2 3 import ( 4 "io" 5 6 jsoniter "github.com/json-iterator/go" 7 ) 8 9 const JsonIterSerializerName = "jsoniter" 10 11 // 使用第三方包json-iterator进行序列化 12 type jsonIterSerializer struct{} 13 14 func (jsonIterSerializer) Marshal(a interface{}, w io.Writer) error { 15 return jsoniter.NewEncoder(w).Encode(a) 16 } 17 18 func (s jsonIterSerializer) MarshalBytes(a interface{}) ([]byte, error) { 19 return jsoniter.Marshal(a) 20 } 21 22 func (jsonIterSerializer) Unmarshal(r io.Reader, a interface{}) error { 23 return jsoniter.NewDecoder(r).Decode(a) 24 } 25 26 func (s jsonIterSerializer) UnmarshalBytes(data []byte, a interface{}) error { 27 return jsoniter.Unmarshal(data, a) 28 }