Mer*_*dil -2 arrays json http request go
我正在尝试在我的 POST 请求中发送一个 JSON 有效负载,但我不确定如何正确格式化它以使用数组。下面是正确的 JSON本身的样子:
{
"animal": "dog",
"contents": [{
"name": "daisy",
"VAL": "234.92133",
"age": 3
}]
}
Run Code Online (Sandbox Code Playgroud)
到目前为止我有这个:
group := map[string]interface{}{
"animal": "dog",
"contents": map[string]interface{}{
"name": "daisy",
"VAL": "234.92133",
"age": 3,
},
}
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何处理内容数组(方括号),只有“内容”中的大括号。
快速回答:
group := map[string]interface{}{
"animal": "dog",
"contents": []map[string]interface{}{
{
"name": "daisy",
"VAL": "234.92133",
"age": 3,
},
},
}
Run Code Online (Sandbox Code Playgroud)
但正如评论中已经说过的那样,使用结构更好(类型安全):
type Animal struct {
Type string `json:"animal"`
Contents []AnimalContent `json:"contents"`
}
type AnimalContent struct {
Name string `json:"name"`
Value string `json:"VAL"`
Age int `json:"age"`
}
Run Code Online (Sandbox Code Playgroud)
然后创建:
group := Animal{
Type: "dog",
Contents: []AnimalContent{
{
Name: "daisy",
Value: "234.92133",
Age: 3,
},
},
}
// to transform to json format
bts, err := json.Marshal(group)
if err != nil {
log.Fatal(err)
}
fmt.Println(string(bts))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38 次 |
| 最近记录: |