jsongostructtrello

Decoded json response return empty struct


I'm trying to get trello organization members list. When I print result I've correct number of struct (17 structs, 17 members).

But struct are empty.

This is my code :

package main

import "fmt"
import "net/http"
import "io/ioutil"
import "encoding/json"
import "bytes"

type Obj struct {
  fullName string `json:"fullName"`
  username string `json:"username"`
  id string `json:"id"`
}

func main() {
    fmt.Printf("hello, world\n")

    var key string = "key"
    var token string = "token"
    var orga string = "organization"

    var url = fmt.Sprintf("https://api.trello.com/1/organizations/%s/members", orga)
    var urlQuery = fmt.Sprintf("?key=%s&token=%s", key, token)

    var fullUrl string = url + urlQuery

    fmt.Println(fullUrl)

    resp, err := http.Get(fullUrl)

    body, err2 := ioutil.ReadAll(resp.Body)
    if err2 != nil {
        panic(err.Error())
    }

    people1 := []Obj{}

    decoder := json.NewDecoder(bytes.NewBuffer(body))
    jsonErr := decoder.Decode(&people1)

    if jsonErr != nil {
      panic(jsonErr)
    }

    fmt.Println(people1)
}

And console output :

[{} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}]

I tried with json.Unmarshal but I've same result.


Solution

  • You need to make sure the fields are exported, or the json decoder can't access them.

    Replace fullName string with FullName string etc... Keep the json attributes the same though.