如何创建两个列表的地图,其中一个列表又是地图?

时间:2018-10-12 08:00:01

标签: 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

1 个答案:

答案 0 :(得分:0)

请参阅golang博客post,以获取更多信息。

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))
}