增加转换为map
This commit is contained in:
parent
a7bceb192c
commit
bb18c3cbfc
38
object.go
38
object.go
@ -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
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user