package main import ( "encoding/json" "fmt" ) type object struct { Value string `json:"value"` } func main() { arr := make([]string, 0) mp := make(map[string]string, 0) var obj *object = nil output := struct { Array []string `json:"array"` Map map[string]string `json:"map"` Object *object `json:"object"` }{ arr, mp, obj, } out, _ := json.Marshal(output) fmt.Printf("%s", out) }