如何将JSON数组放入请求体中进行Retrofit?

时间:2017-11-16 19:27:21

标签: java json retrofit2 http-patch

服务器API在请求正文中使用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中显示的数组内。

2 个答案:

答案 0 :(得分:0)

使用该对象的列表

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

答案 1 :(得分:0)

返回Sample的列表。然后它将被包装成JSON数组。

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