Перейти не удается разбить массив структуры - PullRequest
0 голосов
/ 11 октября 2019

У меня проблема с демаршалом. Когда в теле запроса я отправлял connected_id как null, тогда я не сталкивался с какими-либо проблемами. но когда я передаю строку как connected_id, я получаю сообщение об ошибке как json: cannot unmarshal string into Go struct field MarketingEventLink.m_events.linked_id of type map[string]string

Модели:

type PollingGame struct {
  LinkedMarketingEvents []MarketingEventLink `json:"m_events,omitempty" bson:"m_events,omitempty"`
}
type MarketingEventLink struct {
    LinkedID *objectid.ObjectID `json:"linked_id" bson:"linked_id"`
    Position int8               `json:"position" bson:"position"`
    //Positive number means "after" and negative is "before". Zero is positive. Numbers may be used later to order the events
}

Тело запроса:

{
"m_events" : [ 
        {
            "linked_id" : "5d690c19c20478897f7b089c",
            "position" : 1
        }
    ]
}

UnMarshal Logic

func  DeserUpdatePoll(request *http.Request) (interface{}, error) {
    id := mux.Vars(request)[constants.ID]
    updatePollRequest := &model.PollingGame{}
    err := json.NewDecoder(request.Body).Decode(updatePollRequest)
    if err != nil {
        return nil, err
    }
    updatePollRequest.Id = id
    return updatePollRequest, nil
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...