首页 > 解决方案 > 如何创建两个列表的地图,其中一个列表又是地图?

问题描述

我想创建一个像下面这样的结构

{
  "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

标签: go

解决方案


有关更多信息,请参阅 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))
}

推荐阅读