首页 > 解决方案 > JSON 解析器为 int 变量创建值为 0 的对象

问题描述

我有 JSON 对象解析为 java 对象:示例:

 "a":{ 
   "b":{ 
     "c":{ 
        "d":{}
     }
  }
} 


@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
    "i",
    "object"
})
public class D {

@JsonProperty("i")
private int i;

@JsonProperty("object")
private Object object;

d 对象具有具有 int 变量(i)和另一个对象的子对象。在解析 JSON 时,会将 int 变量创建为 i=0,这不是预期的。

如何在解析时避免创建。我正在使用 JSON Object Mapper 将 JSON 映射到我的 java 对象。

objectMapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
objectMapper.readValue(entity.getBody(), a.class);

标签: javajson

解决方案


问题出在对象的 toString() 方法上。我修改了 toString() 方法,它开始正常工作


推荐阅读