title: How can I type an array of mixed types in golang?
body: <p>I'm writing out a map which I need to convert to JSON, and one of the required values is an array of mixed type.</p>
  
  <pre><code>var models = map[string]interface{} {
     ...
     "req": [[0, "all", [0]]],
     ...
  }
  </code></pre>
  
  <p>Is there a way to assign a type to this nested array? Or is there a better approach for creating this JSON than a map?</p>
  
  <p><strong>Edit:</strong> Getting closer I think, unsure what to do about the nested arrays </p>
  
  <pre><code>var models = map[string]interface{} {
         ...
         "req": []interface{}{[[0, "all", [0]]]},
         ...
      }
  </code></pre>
  
  <p><strong>Edit:</strong> The entire JSON I'm looking to create, I'm just stuck on the "req" key, but since it was requested:</p>
  
  <pre><code>{
      1388596687391: {
        veArs: [],
        name: 'Basic-f15d2',
        tags: ['Tag'],
        did: 1435588830424,
        usn: -1,
        req: [[0, 'all', [0]]],
        flds: [
          {
            name: 'Front',
            media: [],
            sticky: false,
            rtl: false,
            ord: 0,
            font: 'Arial',
            size: 20
          },
          {
            name: 'Back',
            media: [],
            sticky: false,
            rtl: false,
            ord: 1,
            font: 'Arial',
            size: 20
          }
        ],
        sortf: 0,
        latexPre:
          '\\documentclass[12pt]{article}\n\\special{papersize=3in,5in}\n\\usepackage[utf8]{inputenc}\n\\usepackage{amssymb,amsmath}\n\\pagestyle{empty}\n\\setlength{\\parindent}{0in}\n\\begin{document}\n',
        tmpls: [
          {
            name: 'Card 1',
            qfmt: questionFormat,
            did: null,
            bafmt: '',
            afmt: answerFormat,
            ord: 0,
            bqfmt: ''
          }
        ],
        latexPost: '\\end{document}',
        type: 0,
        id: 1388596687391,
        css,
        mod: 1435645658
      }
    }
  </code></pre>