2023-01-17 17:00:34 +08:00
|
|
|
package util
|
|
|
|
|
2023-01-18 17:46:25 +08:00
|
|
|
import (
|
|
|
|
"cutego/pkg/logging"
|
|
|
|
"encoding/json"
|
|
|
|
)
|
|
|
|
|
2023-01-17 17:00:34 +08:00
|
|
|
// IF 三元表达式
|
|
|
|
func IF(condition bool, trueValue interface{}, falseValue interface{}) interface{} {
|
|
|
|
if condition {
|
|
|
|
return trueValue
|
|
|
|
}
|
|
|
|
return falseValue
|
|
|
|
}
|
2023-01-18 17:46:25 +08:00
|
|
|
|
|
|
|
// 结构体、Map等转Json字符串
|
|
|
|
// @Param v interface{}
|
|
|
|
// @Return Json字符串
|
|
|
|
func StructToJson(v interface{}) string {
|
|
|
|
jsonBytes, err := json.Marshal(&v)
|
|
|
|
if err != nil {
|
|
|
|
logging.ErrorLog(err)
|
|
|
|
return ""
|
|
|
|
}
|
|
|
|
s := string(jsonBytes)
|
|
|
|
//DebugLogf("StructToJson, json=%s", s)
|
|
|
|
return s
|
|
|
|
}
|
|
|
|
|
|
|
|
// Json字符串转结构体、Map等
|
|
|
|
//
|
|
|
|
// 单个对象
|
|
|
|
// s := new(models2.SysConfig)
|
|
|
|
// return common.JsonToStruct(get, s).(*models2.SysConfig)
|
|
|
|
//
|
|
|
|
// 切片(interface{}.(期望类型))
|
|
|
|
// s := make([]interface {}, 0)
|
|
|
|
// target := common.JsonToStruct(get, s)
|
|
|
|
// target.([]dataobject.SysDictData)
|
|
|
|
//
|
|
|
|
// @Param data Json字符串
|
|
|
|
// @Param s 容器(结构体、Map等)
|
|
|
|
// @Return interface{}
|
|
|
|
func JsonToStruct(data string, s interface{}) interface{} {
|
|
|
|
err := json.Unmarshal([]byte(data), &s)
|
|
|
|
if err != nil {
|
|
|
|
logging.ErrorLog(err)
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
//common.DebugLogf("JsonToStruct, obj=%v", s)
|
|
|
|
return s
|
|
|
|
}
|