Срез, группаПо []массиву

У меня есть все серверные проблемы в виде массива. Проблема в том, как нарезать (groupBy) статус, загрузочный. Я просто хочу принять как статус = доступно, загрузочный = ложь

Контроллер

slicedBy := make(map[string]interface{})

server := blockstorage.ListVolumes(tenantID.(string))   <----- this is array

for _, sg := range server{
    slicedBy[sg.ID] = sg.Status                    <------- slice by Status
    slicedBy[sg.ID] = sg.Bootable                <------- slice by Bootable
}

Массив JSON

{
   id        123
   status    available
   bootable  false
   ...
}

сервер как массив

[
    {
        "id": "a8b123fc-a141-4682-b65b-d56899621959",
        "status": "available",
        "size": 1,
        "availability_zone": "nova",
        "attachments": [],
        "name": "snapshot 1",
        "description": "",
        "bootable": "false",
    },
    {
        "id": "ccb734d4-c098-4929-8ce5-281b6a58421d",
        "status": "error",
        "size": 2,
        "availability_zone": "nova",
        "attachments": [],
        "name": "",
        "description": "",
        "volume_type": "",
        "bootable": "false",
        "volume_image_metadata": {
            "signature_verified": "False"
        }
    },

🤔 А знаете ли вы, что...
Go используется для создания контейнеров Docker.


158
1

Ответ:

Решено
for _, sg := range server {
  if (sg.Status == "available" && sg.Bootable == "false"){
     jsons["Data"] = sg
  }
}

Это сработало отлично. Я только что нашел это.