go - 如何创建两个列表的地图,其中一个列表又是地图?
问题描述
我想创建一个像下面这样的结构
{
"acc_id" : [1, 2, 3, 4],
"acc_info" : [
{
"name": "abc"
},
{
"name": "pqr"
}
]
}
我有一个应该填充的列表acc_id
和一个应该填充的集合acc_info
。
我很新,但试图为这个结构创建一个静态变量但很挣扎。
试图创造这样的东西,但我知道这是不正确的。
result := make(map[string][]map[string]string)
谁可以帮我这个事?
我发现这个问题但没有帮助:Create a Golang map of Lists
解决方案
有关更多信息,请参阅 golang 博客文章。
package main
import (
"encoding/json"
"fmt"
"log"
)
type accountInfo struct {
AccID []int `json:"acc_id"`
AccInfo []map[string]string `json:"acc_info"`
}
func main() {
t := accountInfo{
AccID: []int{1, 2, 3, 4},
AccInfo: []map[string]string{
map[string]string{"name": "abc"},
map[string]string{"name": "pqr"},
},
}
res, err := json.Marshal(t)
if err != nil {
log.Println(err)
}
fmt.Println(string(res))
}
推荐阅读
- java - Android-Media Recorder 在 API 版本级别低于 24 时暂停?
- node.js - 将 Angular 6 部署到 heroku 后的空白页
- c# - Guid 命名空间是 qXX
- jquery - 使用 loadTemplate 取回样式应答器中的变量
- docker-volume - 如何设置 zalenium 卷访问模式:ReadWriteMany
- node.js - Mongoose 仅使用一个查询更新平均字段
- node.js - 如何使用 node.js 解决 ngnix 中的 404 错误
- ios - 在 ContainerView 中打开不同的视图
- angular - 使用 amexio 开发 Angular 应用程序
- angular - 我应该在 Jasmine 3 中使用什么来代替 fit 和 fdescribe?