将字符串切片转换为结构良好的/键(?)JSON



我有一个相当简单的字符串片段,我可以很高兴地将其转换为JSON,但是我需要为使用它的系统添加键。

例如:

package main
import (
"encoding/json"
"fmt"
)
func main() {
hosts := []string{"hosta","hostb"}
bodyData, _ := json.Marshal(hosts)
fmt.Printf(string([]byte((bodyData))))
}

输出:["hosta","hostb"]

这是意料之中的

然而,我想:{"hosts":["hosta","hostb"]}

我错过了什么?

是的,我可以继续创建另一个结构体,但是我肯定可以在调用Marshal时做一些事情吗?

https://play.golang.org/p/5bQfO1fw7Lc

您可以使用地图:

bodyData, _ := json.Marshal(map[string]interface{}{"hosts":hosts})

最新更新