BeanがJSONにインスタンス化された場合、ある要素のソリューションをインスタンス化したくない場合
2969 ワード
1.エンティティ上
@JsonInclude(Include.NON_NULL)
//タグを属性上に置く、属性がNULLであればシーケンス化に関与しない//クラス上に置くと、このクラスのすべての属性に//includeが作用する.Include.ALWAYSデフォルト//include.NON_DEFAULT属性はデフォルト値でシーケンス化//include.NON_EMPTY属性が空(「」)またはNULLの場合はシーケンス化されません
//Include.NON_NULL属性がNULLの場合はシーケンス化されません
2.コード上のObjectMapper=new ObjectMapper()
mapper.setSerializationInclusion(Include.NON_NULL);
//この方法でmapperオブジェクトを設定と、すべてのシーケンス化されたオブジェクトが変更規則に従ってシリーズ化//includeされる.Include.ALWAYSデフォルト//include.NON_DEFAULT属性はデフォルト値でシーケンス化//include.NON_EMPTY属性が空("")またはNULLであるもシーケンス化//includeしない.NON_NULL属性はNULL無シーケンス化User=new User(1,",null); String outJson = mapper.writeValueAsString(user); System.out.println(outJson);
注意:VOのみに作用し、MapListは機能しない
たとえば
@JsonInclude(Include.NON_NULL)
//タグを属性上に置く、属性がNULLであればシーケンス化に関与しない//クラス上に置くと、このクラスのすべての属性に//includeが作用する.Include.ALWAYSデフォルト//include.NON_DEFAULT属性はデフォルト値でシーケンス化//include.NON_EMPTY属性が空(「」)またはNULLの場合はシーケンス化されません
//Include.NON_NULL属性がNULLの場合はシーケンス化されません
2.コード上のObjectMapper=new ObjectMapper()
mapper.setSerializationInclusion(Include.NON_NULL);
//この方法でmapperオブジェクトを設定と、すべてのシーケンス化されたオブジェクトが変更規則に従ってシリーズ化//includeされる.Include.ALWAYSデフォルト//include.NON_DEFAULT属性はデフォルト値でシーケンス化//include.NON_EMPTY属性が空("")またはNULLであるもシーケンス化//includeしない.NON_NULL属性はNULL無シーケンス化User=new User(1,",null); String outJson = mapper.writeValueAsString(user); System.out.println(outJson);
注意:VOのみに作用し、MapListは機能しない
たとえば
ObjectMapper mapper =
new
ObjectMapper();
mapper.setSerializationInclusion(Include.NON_NULL);
Map map =
new
HashMap();
map.put(
"a"
,
null
);
map.put(
"b"
,
"b"
);
String ret_val = mapper.writeValueAsString(map);
System.err.println(ret_val);
Map m = mapper.readValue(ret_val, Map.
class
);
System.err.println(m.get(
"a"
) +
"|"
+ m.get(
"b"
));
:
{
"b"
:
"b"
,
"a"
:
null
}
null
|b
VO vo =
new
VO();
vo.setA(
null
);
vo.setB(
"b"
);
String ret_val1 = mapper.writeValueAsString(vo);
System.err.println(ret_val1);
VO v = mapper.readValue(ret_val1, VO.
class
);
System.err.println(v.getA() +
"|"
+ v.getB());
{
"b"
:
"b"
}
|b