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{
FirstNamestring`json:"firstName,omitempty"`
LastNamestring`json:"lastName,omitempty"`
UserNamestring`json:"username,omitempty"`
Emailstring`json:"email,omitempty"`
CreatedAtstring`json:"createdAt,omitempty"`
PasswordLastUpdatedstring`json:"passwordLastUpdated,omitempty"`
Verifiedbool`json:"verified,omitempty"`
SelfUrlstring`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)
iferr !=nil{
return
}
 defer resp.Body.Close()
varresult =struct{
Users[]allUsers
}{}
 err =json.NewDecoder(resp.Body).Decode(&result)
returnresult.Users,err
}
|

and I get error

|
fmt.Println(result.Users)->Users:[{[]}]
fmt.Println(err)->Error: json:cannot unmarshal array intoGostructfield .Usersof 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 <mailto:golang-nuts+unsubscr...@googlegroups.com>.
For more options, visit https://groups.google.com/d/optout.

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