将 Go 结构包装并编组到所需的 JSON 参数中

我正在尝试创建 JSON 以发送到接受以下格式的 Rails API:


{"device":{"ipaddress":"192.168.1.2", "netmask": "255.255.255.0", "gateway": "192.168.1.1"}}

但我不确定如何将我已经编组的内容包装到"device":{}API 接受的部分中。


这是我到目前为止所拥有的:


type Device struct {

    IPAddress string `json:"ipaddress"`

    Network   string `json:"network"`

    Gateway   string `json:"gateway"`

}


// gathers the IP info

func GatherIPInfo() {


    d := Device{

        IPAddress: "192.168.1.2",

        Network:   "255.255.255.0",

        Gateway:   "192.168.1.1",

    }


    // now send to API

    data, _ := json.Marshal(d) // looks like: {"ipaddress":"192.168.1.2","network":"255.255.255.0","gateway":"192.168.1.1"}


    ...

    ...

}

我是否必须创建另一个结构才能将现有结构包装到“设备”中,或者是否有更简单的方法?


谢谢!


慕盖茨4494581
浏览 72回答 1
1回答

温温酱

您可以创建另一个结构来包含您拥有的 Device 结构,或者执行如下操作:json.Marshal(map[string]interface{}{"device":d})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go