package ect import "encoding/json" func marshalJSONString(s string) []byte { b, _ := json.Marshal(s) return b } func marshalJSONStringArray(a []string) []byte { b, _ := json.Marshal(a) return b } func unmarshalAudience(data []byte, a *Audience) error { var raw json.RawMessage if err := json.Unmarshal(data, &raw); err != nil { return err } if len(raw) > 0 && raw[0] == '[' { var arr []string if err := json.Unmarshal(raw, &arr); err != nil { return err } *a = arr return nil } var s string if err := json.Unmarshal(raw, &s); err != nil { return err } *a = []string{s} return nil }