有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

安卓改型2和GSON java。lang.IllegalArgumentException:字段映射包含键的空值

自从我从改型1.9迁移到2.0以来,每次执行服务器请求时,我都会遇到以下错误

java.lang.IllegalArgumentException: Field map contained null 
value for key 'installments'.

我调用的方法将获得一个包含所有参数的映射,如以下代码所示:

@FormUrlEncoded
@POST("/api/method")
Call<Response<Payment>> pay(@FieldMap Map<String, String> fields);

但似乎每当我们有一个条目的值为NULL时,它就会抛出一个异常,甚至不执行请求

我们也在使用匕首2。这就是使用转换器创建GSON的方式。工厂

    @Provides
    @Singleton
    Converter.Factory provideGsonConverterFactory() {

       Gson gson = new GsonBuilder()
                .setDateFormat("yyyy-MM-dd hh:mm:ss")
                .setPrettyPrinting()
                .create();
       return GsonConverterFactory.create(gson);
    }

在迁移到改型2.0之前,我们没有这个问题,这很奇怪

事实上,杰克逊有一个属性可以做到这一点:

      ObjectMapper mapper = new ObjectMapper().configure(SerializationConfig
.Feature.WRITE_NULL_MAP_VALUES, false);

共 (1) 个答案