title: Golang assign values to multidimensional struct from sql query
body: <p>I want to assign values returned from an SQL query to a multidimensional struct. I want to output this multidimensional struct as JSON to a Web frontend.</p>
  
  <p><strong>Edit: SQL query is simple, 'SELECT * FROM policy'. It returns many key/values but for the purpose of the example I'm just using the 'policy_id', 'class_id' and 'name' fields.</strong> </p>
  
  <p>My Structs</p>
  
  <pre><code>    type table struct {
      Policy string `json:"policy"`
      P []Parameters `json:"parameters"`
      }
  
      type Parameters struct {
      Policy_id string `json:"policy_id"`
      Class_id string `json:"class_id"`
      Name string `json:"name"`
      .... &lt;removed many more entries of the same type&gt;
      }
  </code></pre>
  
  <p>I then loop through the SQL output using rows.Next() // not important for the question. </p>
  
  <p>If I do:</p>
  
  <pre><code>p := Parameters{}
  </code></pre>
  
  <p>then:</p>
  
  <pre><code>err = rows.Scan(&amp;p.Policy_id, &amp;p.Class_id, &amp;p.Name)
  </code></pre>
  
  <p>p is populated with the key / values pairs I'd expect.</p>
  
  <p><strong>Edit: I added p.Name as I want to use the Name returned from the query string as the unique key for the table struct. This wasn't clear before.</strong></p>
  
  <p>However, I want to get the data into the higher level struct 'table'. I eventually want the output to look something like this in JSON:</p>
  
  <p>{policy: "policyName1", P: [{policy_id: '1', class_id:'01"},{policy_id: '2', class_id: '02'}, etc]}</p>
  
  <p>I've tried things like this:</p>
  
  <pre><code>t := table {
  Policy: p.Name,
  P: p,
  }
  </code></pre>
  
  <p>And a few other combinations, but at this point I'm just guessing. Can someone point me in the right direction?</p>