code: func (i *IssueFields) MarshalJSON() ([]byte, error) {
  	m := structs.Map(i)
  	unknowns, okay := m["Unknowns"]
  	if okay {
  		// if unknowns present, shift all key value from unknown to a level up
  		for key, value := range unknowns.(tcontainer.MarshalMap) {
  			m[key] = value
  		}
  		delete(m, "Unknowns")
  	}
  	return json.Marshal(m)
  }
docs: // MarshalJSON is a custom JSON marshal function for the IssueFields structs.
  // It handles JIRA custom fields and maps those from / to "Unknowns" key.