Как сделать []массив и карту с содержит []массив

Как сделать карту похожей на "Data":[{"3":{...}},{"4":{...}}]

Контроллер

jsons := make(map[string]interface{})
listUsers := identity.ListUsers()
users := make(map[int]interface{})

for k, j := range listUsers {
        if j.Description != "" {
            users[k] = j
    }
}

jsons["Data"] = users
u.Data["json"] = jsons
u.ServeJSON()

JSON

 "Data": {
    "3": {
        "default_project_id": "",
        "description": "description",
        "domain_id": "default",
        "enabled": true
    },
    "5": {
        "default_project_id": "9e266e1a750e45f8862e83341a5d0970",
        "description": "description",
        "domain_id": "default",
        "enabled": true
    }
}

Как сделать []массив и карту с содержит []массив

listUsers []users.User users map[int]interface{}

Я просто должен добавить больше деталей, когда получу ответ.

Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
0
0
57
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Во-первых, "Data":[ "3":{...},"4":{...} ] не является допустимым форматом json. Вы не можете помещать данные «ключ-значение» внутрь [], кроме {}. Поэтому что-то внутри [] должно быть списком. Так что вы можете изменить его как "Data":[{"3":{...}},{"4":{...}}].
Затем измените код контроллера, например users := make([]map[int]interface{},0)

cannot use j (type users.User) as type []map[int]interface {} in assignment
Elliot 12.04.2019 08:52

@М.Билгүүн изменить назначение пользователей на users = append(users, map[int]interface{}{k: j,})

SpiderShrimp 12.04.2019 09:36

Я думаю, вы должны создать новые типы:

type AutoGenerated struct {
DefaultProjectID string `json:"default_project_id"`
Description      string `json:"description"`
DomainID         string `json:"domain_id"`
Enabled          bool   `json:"enabled"`

}

введите карту MyType [int] AutoGenerated

Я думаю, что не стоит создавать срез карты, но можно:

type SliceMap []MyType

Чтобы сгенерировать новые go-типы из JSON, вы можете использовать: https://mholt.github.io/json-to-go/

Другие вопросы по теме