Also as per the API documentation of the vendor, I am suppose to get a response in format
ListUserResponse { users (Array[V1User], optional), _selfUrl (string, optional) } On Wed, Sep 26, 2018 at 6:03 PM Mudasir Mirza <mudasir.mi...@dubizzle.com> wrote: > Hi Steven, > > Thanks for your prompt response. I know that, but I can not figure out how > to define that in my struct :( > > On Wed, Sep 26, 2018 at 5:55 PM Steven Hartland <ste...@multiplay.co.uk> > wrote: > >> If you look closely they have a strange structure: >> "users": [*[*{...},{...}*]*] >> >> You've created: >> "users":[{...},{...}] >> >> On 26/09/2018 14:43, 'Mudasir Mirza' via golang-nuts wrote: >> >> Hey guys, >> >> I am fairly new to GoLang, still learning. >> >> I am trying to working on a small utility, which fetches details from a >> third party. >> As per their documentation, I will get response something like >> >> { >> "users": [ >> [ >> { >> "firstName": "string ", >> "lastName": "string", >> "username": "string", >> "email": "string", >> "createdAt": "string", >> "passwordLastUpdated": "string", >> "verified": true, >> "_selfUrl": "string" >> }, >> { >> "firstName": "string ", >> "lastName": "string", >> "username": "string", >> "email": "string", >> "createdAt": "string", >> "passwordLastUpdated": "string", >> "verified": true, >> "_selfUrl": "string" >> } >> ] >> ] >> } >> >> For this, I created struct type >> >> type V1User struct { >> FirstName string `json:"firstName,omitempty"` >> LastName string `json:"lastName,omitempty"` >> UserName string `json:"username,omitempty"` >> Email string `json:"email,omitempty"` >> CreatedAt string `json:"createdAt,omitempty"` >> PasswordLastUpdated string `json:"passwordLastUpdated,omitempty"` >> Verified bool `json:"verified,omitempty"` >> SelfUrl string `json:"_selfUrl,omitempty"` >> } >> >> >> type allUsers struct { >> users []V1User `json:"users,omitempty"` >> } >> >> I am pretty sure I am missing out on something. I am running below code >> to fetch and decode the data >> >> func (c *Client) getUsers() (users []allUsers, err error) { >> resp, err := c.request(http.MethodGet, "user", nil) >> if err != nil { >> return >> } >> defer resp.Body.Close() >> var result = struct { >> Users []allUsers >> }{} >> err = json.NewDecoder(resp.Body).Decode(&result) >> return result.Users, err >> } >> >> and I get error >> >> fmt.Println(result.Users) -> Users: [{[]}] >> fmt.Println(err) -> Error: json: cannot unmarshal array into Go >> struct field .Users of type main.allUsers >> >> I am still trying to figure out what's wrong here, any help will be >> appreciated. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "golang-nuts" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to golang-nuts+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> >> >> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "golang-nuts" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/golang-nuts/QAju97M7JHY/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> golang-nuts+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> > > > -- > Mudasir Mirza > DevOps Manager > Dubizzle > > -- Mudasir Mirza DevOps Manager Dubizzle -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.