jackson json轉bean忽略沒有的字段 not marked as ignorable

@JsonIgnore註解用來忽略某些字段,可以用在Field或者Getter方法上,用在Setter方法時,和Filed效果一樣。這個註解只能用在POJO存在的字段要忽略的情況,不能滿足現在需要的情況。


@JsonIgnoreProperties(ignoreUnknown = true),將這個註解寫在類上之後,就會忽略類中不存在的字段,可以滿足當前的需要。這個註解還可以指定要忽略的字段。使用方法如下:

@JsonIgnoreProperties({ "internalId", "secretKey" })
指定的字段不會被序列化和反序列化。
===========
代碼會返回tes對象爲null
public class tes
{

private String a ;

private String b;

public String getA()
{
return a;
}

public void setA(String a)
{
this.a = a;
}

public String getB()
{
return b;
}

public void setB(String b)
{
this.b = b;
}

public static void main(String[] args)
{
String ss="{\"a\":\"aa\",\"c\":\"c\"}";
tes t= JsonUtil.fromJson(ss,tes.class);
// tes t= new Gson().fromJson(ss,tes.class);
}

}======
正確在class上加
@JsonIgnoreProperties(ignoreUnknown = true)
public class tes


或者代碼控制
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
objectMapper.readValue(json,cls);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章