title: Unmarshal JSON with some known, and some unknown field names
body: <p>I have the following JSON</p>
  
  <pre><code>{"a":1, "b":2, "?":1, "??":1}
  </code></pre>
  
  <p>I know that it has the "a" and "b" fields, but I don't know the names of other fields. So I want to unmarshal it in the following type:</p>
  
  <pre><code>type Foo struct {
    // Known fields
    A int `json:"a"`
    B int `json:"b"`
    // Unknown fields
    X map[string]interface{} `json:???` // Rest of the fields should go here.
  }
  </code></pre>
  
  <p>How do I do that?</p>