title: Support a varying object data type with Retrofit
body: <p>Below is a description of the data structure of the data I need the Android app to pass to the REST API in JSON form. Of particular note is the "response" field, which varies in type. Sometimes it is a boolean, sometimes an integer, or it can be a string or an array of integers. For various reasons the server API cannot easily be changed so I have to support it as is.</p>
  
  <p>How can I customise my Retrofit use to cater to a field that varies in data type like this? I've previously written type adapters for Retrofit's rest adapter and that works great for handling responses, but what is the equivalent of a type adapter for requests?</p>
  
  <pre><code>array(
          array(
                  question_id =&gt; 1,
                  route_id =&gt; 1,
                  response =&gt; true,
                  timestamp =&gt; ‘2014-01-01 20:01:01'
          ),
          array(
                  question_id =&gt; 2,
                  route_id =&gt; 1,
                  response =&gt; ’this is a string',
                  timestamp =&gt; ‘2014-01-01 20:01:01'
          ),
          array(
                  question_id =&gt; 3,
                  route_id =&gt; 1,
                  response =&gt; 1,
                  timestamp =&gt; ‘2014-01-01 20:01:01'
          ),
          array(
                  question_id =&gt; 4,
                  route_id =&gt; 1,
                  response =&gt; array(
                          1234,
                          178,
                          109
                  ),
                  timestamp =&gt; ‘2014-01-01 20:01:01'
          ),
  )
  </code></pre>