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 );
欽此!