package jsonx import ( "context" "encoding/json" "gitea.micah.wiki/pandora/starter/pkg/logx" ) var ( Marshal = json.Marshal Unmarshal = json.Unmarshal ) func UnsafeMarshal(ctx context.Context, v any) string { b, err := Marshal(v) if err != nil { logx.CtxError(ctx, "Json UnsafeMarshal error, value: %+v, err: %+v.", v, err) return "" } return string(b) } func UnsafeUnmarshal(ctx context.Context, data string, v any) { err := Unmarshal([]byte(data), v) if err != nil { logx.CtxError(ctx, "Json UnsafeUnmarshal error, data: %s, err: %+v.", data, err) return } } func ConvertMarshal(ctx context.Context, from any, to any) { b, err := Marshal(from) if err != nil { logx.CtxError(ctx, "Json ConvertMarshal error, from: %+v, err: %+v.", from, err) return } err = json.Unmarshal(b, to) if err != nil { logx.CtxError(ctx, "Json ConvertMarshal error, from: %+v, err: %+v.", from, err) return } }