title: Sending ArrayList<Object> POST request with Retrofit
body: <p>I want to send something like this to server</p>
  
  <pre><code>{
    "InoorPersonID": "",
    "Discount": 0,
    "DiscountDescription": "",
    "Description": "",
    "OrderDetailList": [
      {
        "ProductID": 0,
        "Amount": 0
      }
    ],
    "ClientId": "",
    "ClientSecret": ""
  }
  </code></pre>
  
  <p>and this is my service interface</p>
  
  <pre><code>public interface StoreRetrofitSalesService {
  
      @FormUrlEncoded
      @POST(ServiceUrl.URL_ORDER_SET)
      Call&lt;ServiceResult&lt;Integer&gt;&gt; orderSet(@Field("OrderDetailList") ArrayList&lt;OrderDetail&gt; orderDetails,
                                            @Field("Discount") String discount,
                                            @Field("ClientId") String clientId,
                                            @Field("ClientSecret") String clientSecret,
                                            @Field("Description") String description,
                                            @Field("InoorPersonID") String inoorPersonId,
                                            @Field("DiscountDescription") String discountDescription);
  
  }
  </code></pre>
  
  <p>The logcat show this</p>
  
  <pre><code>OrderDetailList=org.crcis.noorreader.store.OrderDetail%408208296&amp;Discount=0&amp;...
  </code></pre>
  
  <p>I have two question:</p>
  
  <ol>
  <li>Why OrderDetailList can't convert to JSON.</li>
  <li>How can I use @FieldMap for this params.
  I recently test <code>Map&lt;String, Object&gt;</code> but it returns same result.</li>
  </ol>
  
  <p>Thanks</p>