Вложенная карта возвращает массив json [] - PullRequest
0 голосов
/ 20 марта 2019

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

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

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

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

не может использовать append (tickets, ptotal) (type [] interface {}) в качестве карты типов [string] interface {} в назначении

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

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

Я хочу этот JSON:

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

Я хочу как Моя детская площадка

Ответы [ 2 ]

2 голосов
/ 20 марта 2019
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})
1 голос
/ 20 марта 2019

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

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)
...