Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何基于另一个字段过滤序列化';s值多少?_Java_Json_Jackson - Fatal编程技术网

Java 如何基于另一个字段过滤序列化';s值多少?

Java 如何基于另一个字段过滤序列化';s值多少?,java,json,jackson,Java,Json,Jackson,我已经读过描述Jackson过滤和搜索互联网的文章,但无法确定基于另一个字段过滤一个字段的方法 假设我有这个班: 公共类地址{ 私人邮政编码; 私人城市; 私有字符串streetAddress; 私有字符串状态; } 我如何设置序列化过滤器,使zipcode以9开头时,状态被忽略?我需要使用SimpleBeanPropertyFilter 例如: 地址(90000,“Pruedale”,“123 Localhost”,“佛蒙特州”) //{“zip”:90000,“城市”:“Prunedale

我已经读过描述Jackson过滤和搜索互联网的文章,但无法确定基于另一个字段过滤一个字段的方法

假设我有这个班:

公共类地址{
私人邮政编码;
私人城市;
私有字符串streetAddress;
私有字符串状态;
}
我如何设置序列化过滤器,使zipcode以9开头时,状态被忽略?我需要使用
SimpleBeanPropertyFilter

例如:

地址(90000,“Pruedale”,“123 Localhost”,“佛蒙特州”)
//{“zip”:90000,“城市”:“Prunedale”,“街道地址”:“123 Localhost”}
地址(80000,“Pruedale”,“123 Localhost”,“佛蒙特州”)
//{“zip”:80000,“城市”:“Pruedale”,“街道地址”:“123本地主机”,“州”:“佛蒙特州”}

谢谢你的帮助

在序列化过程中,您需要访问两个属性:
zip
state
,因此我建议实现自定义序列化器,它检查条件并写入或不写入给定字段。请参阅类似的问题和解决方案:是否有办法自动忽略具有空值或空值的字段?或者我需要在写入之前手动检查每个字段吗?在序列化过程中,您需要访问两个属性:
zip
state
,因此我建议实现自定义序列化器,它检查条件和写入或未给定字段。请参阅类似的问题和解决方案:是否有办法自动忽略具有空值或空值的字段?或者我需要在写之前手动检查每个字段吗?