Vert.x 默认使用 jackson 作为 JSON 处理器,但其默认的配置有时候不能满足需求。例如将对象转成 json 时,我们可能希望删除其中的空值属性。
而 Vert.x 并没有提供配置 jackson 的 API,但我们仍可以借助如下的方法来实现:
import io.vertx.core.json.jackson.DatabindCodec;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
DatabindCodec codec = (DatabindCodec) io.vertx.core.json.Json.CODEC;
ObjectMapper mapper = codec.mapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
mapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE );
钦此!