Hey,

Thanks allot, that fixed the issue and I really appreciate it.

On Wed, Sep 26, 2018 at 6:43 PM <silviucap...@gmail.com> wrote:

> Two things:
>
> 1) Capitalize users inside allUsers so it can be populated via reflection
> 2) Use an intermediary type to allow for that slice inside slice
>
> https://play.golang.org/p/RvW7PMSOZlq
>
> On Wednesday, 26 September 2018 10:10:41 UTC-4, Mudasir Mirza wrote:
>>
>> 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 <mudasi...@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...@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...@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 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

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