增加转换为map

This commit is contained in:
白茶清欢 2023-06-02 16:40:22 +08:00
parent a7bceb192c
commit bb18c3cbfc

View File

@ -9,6 +9,8 @@ package wrapper
import (
"encoding/json"
"errors"
"git.zhangdeman.cn/zhangdeman/util"
"reflect"
)
@ -23,6 +25,7 @@ func ObjectData(data interface{}) *ObjectType {
data: map[interface{}]interface{}{},
byteData: []byte{},
isValid: true,
invalidErr: errors.New("data is invalid"),
}
if nil == ot {
return ot
@ -50,6 +53,7 @@ type ObjectType struct {
data map[interface{}]interface{}
byteData []byte
isValid bool
invalidErr error
}
// IsValid 是否有效对象数据
@ -75,13 +79,39 @@ func (ot *ObjectType) IsNil() bool {
// Author : go_developer@163.com<白茶清欢>
//
// Date : 18:51 2023/6/1
func (ot *ObjectType) ToString() string {
func (ot *ObjectType) ToString() StringResult {
if ot.IsNil() {
return "nil"
return StringResult{
Value: "nil",
Err: nil,
}
}
if !ot.IsValid() {
// 非法对象数据
return ""
return StringResult{
Value: "",
Err: errors.New("data is invalid"),
}
return string(ot.byteData)
}
return StringResult{
Value: string(ot.byteData),
Err: nil,
}
}
// ToMapStringAny ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 16:17 2023/6/2
func (ot *ObjectType) ToMapStringAny() ObjectResult {
res := ObjectResult{
Value: map[string]interface{}{},
Err: nil,
}
if ot.IsNil() {
return res
}
res.Err = util.JSON.UnmarshalWithNumber(ot.byteData, &res.Value)
return res
}