Ниже приведены данные, полученные от
{
"details": [
{
"attdetails": [
{
"id": "a48c8539-caaf-49a5-9346-8e88e60e7af4",
"name": "compute01"
},
{
"id": "a48c8539-caaf-49a5-9346-8e88e60e7af4",
"name": "compute02"
}
],
"name": "item1"
},
{
"attdetails": [
{
"id": "85bdafa7-274e-4180-b76f-12f390a274fc",
"name": "compute03"
},
{
"id": "85bdafa7-274e-4180-b76f-12f390a274fc",
"name": "compute04"
}
],
"name": "item1"
}
]
}
Я пытаюсь создать JSON со следующими данными:
["item1":
{"compute01": "a48c8539-caaf-49a5-9346-8e88e60e7af4"},
{"compute02": "a48c8539-caaf-49a5-9346-8e88e60e7af4"},
{"compute03": "a48c8539-caaf-49a5-9346-8e88e60e7af4"},
{"compute04": "a48c8539-caaf-49a5-9346-8e88e60e7af4"}
]
Я пытаюсь создать карту [строка]интерфейс, но я не могу сгруппировать их и добавить в массив к определенному ключу.
Ниже приведен пример кода, который я пытаюсь использовать:
var childrens map[string]interface{}
for _, a := range atts {
att, ok := childrens[a.Name]
if !ok {
childrens[a.Name] = make([]map[string]string, 0)
}
var c map[string]string
for _, each := range a.Details {
c[each.Name] = each.Value
}
childrens[a.Name] = append(c, childrens[a.Name])
}