2017-11-16 9 views
0

サーバーAPIは、要求本体でJSON配列を取ります。このように:Retrofitのリクエスト本体にJSON配列を挿入する方法は?

[ 
    { 
    "key1" : "value1", 
    "key2" : "value2", 
    "key3" : "value3" 
    } 
] 

私はボディとしてJSONオブジェクトを配置する方法を知っているが、どのように私は改造リクエストでJSON 配列を置くことができますか?

私はすでにPOJOを持っている:

public class Sample { 
    @SerializedName("key1") 
    @Expose 
    private String key1; 
    @SerializedName("key2") 
    @Expose 
    private String key2; 
    @SerializedName("key3") 
    @Expose 
    private String key3; 
} 

は、ここに私のAPIクラスです:

@PATCH("//some url") 
    Observable<ResponseBody> patchRequest(
      // ... other params 
      @Body Sample sampleBody; 
    ); 

私は要求を行うと、体は次のようになります。私除き

{ 
    "key1" : "value1", 
    "key2" : "value2", 
    "key3" : "value3" 
    } 

最初のJSONで示されているように、配列の内部にある必要があります。その

+0

の可能性のある重複した[レトロフィットリクエストのボディに生の全JSONを投稿する方法は?](https://stackoverflow.com/questions/21398598/how-to-post-raw-whole-json-現場での補修要求) –

+0

これまでに試したことを示すコード例を示してください。 –

+0

@ Code-Apprenticeには、生のJSON本体をポストするのではなく、よりエレガントな方法がありますか? – kyrax

答えて

0

使用リストは

@POST("url") 
Call<Object> doStuff(@Body List<Map<String, String>> body) 
0

戻るSampleのリストをオブジェクト。それはJSON配列にラップされます。

@PATCH("//some url") 
Observable<ResponseBody> patchRequest(
     // ... other params 
     @Body List<Sample> sampleBody; 
); 
関連する問題