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.