title: Go - JSON Decoder not initializing my struct
body: <p>I am trying to decode some JSON retrieved via <code>http.Get</code>. However, when I check the structs I initialize with <code>fmt.Println</code>, they are always empty.</p>
  
  <p>I suspect it is because my struct's structure does not agree with the returned JSON, but I am not sure how to fix it. In general, I am not exactly quite sure how the <a href="https://golang.org/pkg/encoding/json/#Decoder" rel="nofollow">decoder</a> works.</p>
  
  <p>This is the JSON:</p>
  
  <pre><code>{
    "response":[
      {
        "list": {
          "category":"(noun)",
          "synonyms":"histrion|player|thespian|role player|performer|performing artist"
        }
      },
      {
        "list": {
          "category":"(noun)",
          "synonyms":"doer|worker|person|individual|someone|somebody|mortal|soul"
        }
      }
    ]
  }
  </code></pre>
  
  <p>Here is what i have tried so far:</p>
  
  <pre><code>type SynonymResponse struct {
      lists []SynonymList
  }
  
  type SynonymList struct {
      category string
      synonyms string
  }
  
  var synonyms SynonymResponse;
  dec := json.NewDecoder(response.Body)
  err := dec.Decode(&amp;synonyms)
  if err != nil {
      log.Fatal(err)
  }
  fmt.Println(synonyms)
  </code></pre>
  
  <p><strong>EDIT: Per @Leo's answer and @JimB's hint, there are two issues with my attempt. Below is the proper set of structs, though as Leo pointed out, this will be empty:</strong> </p>
  
  <pre><code>type SynonymResponses struct {
      resp []SynonymResponse
  }
  
  type SynonymResponse struct {
      listo SynonymList
  }
  
  type SynonymList struct {
      cat string
      syns string
  } 
  </code></pre>