1 Star 0 Fork 0

y18618233925 / gutils

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
json.go 977 Bytes
一键复制 编辑 原始数据 按行查看 历史
phoebus 提交于 2024-04-28 10:53 . init
package utils
import (
"bytes"
"encoding/json"
"io"
"os"
)
func ToJSON(v any) string {
if v == nil {
return ""
}
res, err := json.Marshal(v)
if err != nil {
return ""
}
return string(res)
}
func MapToStruct(data map[string]interface{}, v any) error {
s, err := json.Marshal(data)
if err != nil {
return err
}
if err := json.Unmarshal(s, v); err != nil {
return err
}
return nil
}
func InterfaceToStruct(data interface{}, v any) error {
s, err := json.Marshal(data)
if err != nil {
return err
}
if err := json.Unmarshal(s, v); err != nil {
return err
}
return nil
}
func JSONLoadFromFile(filePath string, data interface{}) error {
file, err := os.Open(filePath)
if err != nil {
return err
}
defer file.Close()
buffCache := new(bytes.Buffer)
if _, err := buffCache.ReadFrom(file); err != nil && err != io.EOF {
return err
}
if err := json.Unmarshal(buffCache.Bytes(), data); err != nil {
return err
}
return nil
}
Go
1
https://gitee.com/y18618233925/gutils.git
git@gitee.com:y18618233925/gutils.git
y18618233925
gutils
gutils
v0.0.3

搜索帮助

53164aa7 5694891 3bd8fe86 5694891