Mic*_*les 20 java json jackson
我有一个被强制序列化的对象:
{
"label" : "label",
"proxyIds" : [ ],
"childIds" : [ 161, 204, 206, 303, 311 ],
"actionIds" : [ 157, 202 ],
}
Run Code Online (Sandbox Code Playgroud)
proxyIds是java对象中的空(非空)集合.
如何将Jackson配置为不在json中包含该对象?
我希望行为类似于xml/soap中的"unwrapped"集合,如果集合为空,则不包括在内.我不需要区分null和empty集合,并希望减小json有效负载的大小.
pim*_*ttc 38
自Jackson 2.0.0(2012年3月25日)以来,您还可以使用@JsonInclude
注释来控制每个字段或每个类.
public class MyObject {
@JsonInclude(Include.NON_EMPTY)
private List<Integer> proxyIds;
...
}
Run Code Online (Sandbox Code Playgroud)
Usm*_*ail 14
这可能是一个长镜头,但如何使用Inclusions和定义NON_DEFAULT作为包含属性.文档说:
"值表示只包含具有与默认设置不同的值的属性(意味着当Bean使用其无参数构造函数构造时具有的值)."
因此,如果默认值为空数组,则应跳过它.
就像是:
ObjectMapper mapper = new ObjectMapper();
mapper.getSerializationConfig().setSerializationInclusion(Inclusion.NON_DEFAULT);
public class Test {
String[] array = { };
....
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18733 次 |
最近记录: |