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.

Reply via email to