Нужен только один map
после цикла создается два map если append не добавляю то все стерается и остается только последний элемент или
[map[title:муцппцп] map[title:fgdfg]]
а нужно [map[title:муцппцп title:fgdfg]]
package main
type AutoGeneratedd struct {
Title string `json:"title"`
Description string `json:"description"`
}
func main() {
setupResponse(w, r)
var err error
var data DataTechnicalService
err = json.NewDecoder(r.Body).Decode(&data)
if err != nil {
fmt.Println(err)
return
}
str, _ := data.Rows.(string)
var i []AutoGeneratedd
var bM []bson.M
if err := json.Unmarshal([]byte(str), &i); err != nil {
fmt.Println("ugh: ", err)
}
fmt.Println(i) //[{муцппцп 5465465} {fgdfg 545454}]
for _, u := range i {
bM = append(bM, bson.M{"title": u.Title})
}
fmt.Println(bM) //[map[title:муцппцп] map[title:fgdfg]]
Ответы (1 шт):
Автор решения: AlexBrin
→ Ссылка
Golang, как и любой язык программирования, не позволяет создавать два элемента с одним ключом. Например, если ключ title уже существует и записать по этому ключу что-то новое, то оно просто заменит его
Чтобы иметь два элемента с одинаковыми ключами, Вам придется хранить два map'a