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  }