Files
wehub-resource-sync 1b8708893a
Security Scan / tests (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:12:26 +08:00

30 lines
593 B
Go

package dbutil
import "encoding/json"
// MarshalJSON marshals a value to a JSON string for storage.
// Returns "" on nil, error, or empty-equivalent values ("null", "[]", "{}").
func MarshalJSON(v any) string {
if v == nil {
return ""
}
b, err := json.Marshal(v)
if err != nil {
return ""
}
s := string(b)
if s == "null" || s == "[]" || s == "{}" {
return ""
}
return s
}
// UnmarshalJSON unmarshals a JSON string into the target.
// Returns nil on empty input.
func UnmarshalJSON(s string, v any) error {
if s == "" {
return nil
}
return json.Unmarshal([]byte(s), v)
}