如何在没有键'值'的情况下发送JSONArray

时间:2017-08-30 16:25:00

标签: android gson retrofit

我的API是:

public interface API {

    @PUT("pedido/{lanche}")
    Observable<OrderResponseVO> createOrder(@Path("lanche") Integer lanche, @Body AddOrderRequestVO request);

}

我将此POJO用作我的Retrofit PUT请求的主体:

public class AddOrderRequestVO {

    @SerializedName("extras")
    public JSONArray itens;it

}

我在服务器上收到了这个正文:

{ extras: { values: [ 2, 2, 2 ] } }

但我需要这个:

{ extras: [ 2, 2, 2 ] }

怎么做?

2 个答案:

答案 0 :(得分:0)

不要使用JSONArray,而是使用普通数组

答案 1 :(得分:0)

替换

public JSONArray itens;

public List<Integer> itens;

或者您需要序列化到json和从json序列化的任何类型的列表。它将在JSON中为您提供所需的结果,并且在您的Java代码中使用它会更容易。 GSON将处理从JSON中的JSONArray到列表的转换,而无需您执行任何操作。