From 5f31fdee04ffab99be1725b05ae9ef7d831228e6 Mon Sep 17 00:00:00 2001 From: weloe <1345895607@qq.com> Date: Thu, 10 Aug 2023 01:51:10 +0800 Subject: [PATCH] feat: add JsonSerializer --- persist/json_adapter.go | 23 ++--------------------- persist/json_serializer.go | 26 ++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 21 deletions(-) create mode 100644 persist/json_serializer.go diff --git a/persist/json_adapter.go b/persist/json_adapter.go index 2feaece..d1ad98c 100644 --- a/persist/json_adapter.go +++ b/persist/json_adapter.go @@ -1,29 +1,10 @@ package persist -import ( - "encoding/json" -) - type JsonAdapter struct { *DefaultAdapter + *JsonSerializer } func NewJsonAdapter() *JsonAdapter { - return &JsonAdapter{NewDefaultAdapter()} -} - -func (j *JsonAdapter) Serialize(data interface{}) ([]byte, error) { - serializedData, err := json.Marshal(data) - if err != nil { - return nil, err - } - return serializedData, nil -} - -func (j *JsonAdapter) UnSerialize(data []byte, result interface{}) error { - err := json.Unmarshal(data, &result) - if err != nil { - return err - } - return nil + return &JsonAdapter{NewDefaultAdapter(), NewJsonSerializer()} } diff --git a/persist/json_serializer.go b/persist/json_serializer.go new file mode 100644 index 0000000..4261d19 --- /dev/null +++ b/persist/json_serializer.go @@ -0,0 +1,26 @@ +package persist + +import "encoding/json" + +type JsonSerializer struct { +} + +func NewJsonSerializer() *JsonSerializer { + return &JsonSerializer{} +} + +func (j *JsonSerializer) Serialize(data interface{}) ([]byte, error) { + serializedData, err := json.Marshal(data) + if err != nil { + return nil, err + } + return serializedData, nil +} + +func (j *JsonSerializer) UnSerialize(data []byte, result interface{}) error { + err := json.Unmarshal(data, &result) + if err != nil { + return err + } + return nil +}