Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.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 在Jackson数据绑定中是否有不推荐的属性SerializationFeature.WRITE_NULL_MAP_值的替换?_Java_Jackson_Deprecated_Jackson Databind - Fatal编程技术网

Java 在Jackson数据绑定中是否有不推荐的属性SerializationFeature.WRITE_NULL_MAP_值的替换?

Java 在Jackson数据绑定中是否有不推荐的属性SerializationFeature.WRITE_NULL_MAP_值的替换?,java,jackson,deprecated,jackson-databind,Java,Jackson,Deprecated,Jackson Databind,我们在项目中使用ObjectMapper忽略空映射的序列化 configure(SerializationFeature.WRITE_NULL_MAP_VALUES, false) 但在Jackson Databind 2.9之后,该房产折旧,我们正在寻找替代方案 以下代码是否可以替代删除上述属性- setSerializationInclusion(Include.NON_NULL) 发件人: 已弃用。自2.9以来,有更好的机制来指定 过滤;特别是使用JsonInclude或配置覆盖 (请

我们在项目中使用ObjectMapper忽略空映射的序列化

configure(SerializationFeature.WRITE_NULL_MAP_VALUES, false)
但在Jackson Databind 2.9之后,该房产折旧,我们正在寻找替代方案

以下代码是否可以替代删除上述属性-

setSerializationInclusion(Include.NON_NULL)
发件人:

已弃用。自2.9以来,有更好的机制来指定 过滤;特别是使用
JsonInclude
或配置覆盖 (请参见
ObjectMapper.configOverride(类)
)。决定
Map
具有空值的条目是否要序列化(true)或 不是(错)

简单的例子:

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Value;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;

import java.util.HashMap;
import java.util.Map;

public class JsonApp {

    public static void main(String[] args) throws Exception {
        Map<String, Object> map = new HashMap<>();
        map.put("string", "value");
        map.put("int", 1);
        map.put("null1", null);
        map.put(null, null);

        ObjectMapper mapper = new ObjectMapper();
        mapper.enable(SerializationFeature.INDENT_OUTPUT);
        mapper.configOverride(Map.class).setInclude(Value.construct(JsonInclude.Include.NON_NULL, JsonInclude.Include.NON_NULL));

        System.out.println(mapper.writeValueAsString(map));
    }
}
{
  "string" : "value",
  "int" : 1
}