我有一個結構,像這樣:JSON:嵌套一個人口結構進入一個新的結構
type my_struct struct {
First string `json:"first"`
Second string `json:"second"`
Number int `json:"number"`
}
當我封送成JSON,它輸出很簡單的JSON正如你所期望:
var output_json []byte
output_json, _ = json.Marshal(output)
fmt.Println(string(output_json))
結果:
{"first":"my_string","second":"another_string","number":2}
所有罰款爲止!
在將該結構編組爲JSON之前,我想要做的是將其嵌套到另一個結構中。由此產生的輸出將是JSON,如下所示:
{
"fields": {
"first": "my_string",
"number": 2,
"second": "another_string"
},
"meta": "data"
}
我該怎麼做?
我在這裏的問題是,我不_always_需要big_struct,這是一個有條件的事情。有沒有辦法做到這一點? – jaxxstorm
@Frap你不能初始化My_struct,特別是沒有聲明的新字段。 Go沒有像在Python中看到的那樣的面向對象繼承類型。然而,你可以聲明一個有條件的匿名結構,並且可以在它內部嵌套'My_struct'。我用第二個例子編輯了我的答案。 – nosequeldeebee