Вложенная карта возвращает массив json []

Как я могу создать вложенный массив JSON? Есть ли другой простой способ сделать это?

Я пробовал это:

var m1 = make(map[string]interface{})
m1 = append(tickets, ptotal)                      //error is here
i.Data["json"] = m1
i.ServeJSON()

но он показывает эту ошибку:

cannot use append(tickets, ptotal) (type []interface {}) as type map[string]interface {} in assignment

Я могу сделать это, но он вообще не вложен:

// some := append(tickets, map[string]int64{"totalpage": ptotal})

Я хочу этот JSON:

[
  {tickets
     name:value,
  },
],
[
  {
   totalpage: 10
  }
]

Хочу лайк моя детская площадка

тип m1 — карта, но тип результата добавления — список

beiping96 20.03.2019 04:44

определите m1 как []interface{}

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

Ответы 2

Ответ принят как подходящий
var tickets []interface{}
var ptotal int64
tickets, ptotal, err := models.GetAllTicket(query, fields, sortby, order, offset, limit)
if err != nil {
    // bulabula
}
i.Data["json"] = append(tickets, map[string]int64{"totalpage": ptotal})
tickets, ptotal, err := models.GetAllTicket(query, fields, sortby, order, offset, limit) вот как я беру 3 переменные, билеты tickets []interface{} общая сумма int64 ошибка error
Elliot 20.03.2019 04:51

я не уверен, что понял, что вы имеете в виду

beiping96 20.03.2019 04:54

но я объявляю переменную, используя := в tickets, ptotal, err :=, но почему я должен использовать var поверх нее? Пожалуйста, объясни?

Elliot 20.03.2019 05:01

Ой, не надо, я просто хочу уточнить про тип значения

beiping96 20.03.2019 05:58

попробуй это:

var data = map[string]map[string]string{
    "ticket": map[string]string{},
    "totalpage": map[string]string{},
    "c": map[string]string{},
}

data["ticket"]["w"] = "vrniairvnai"
data["totalpage"]["w"] = "ten"
fmt.Println(data)

var data2 = make(map[string]interface{})
data2["data"] = data
data2["int"] = 10
fmt.Println(data2)
stackoverflow.com/questions/55234195/…
beiping96 20.03.2019 06:01

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