如何讓 Vert.x 生成的 json 忽略掉 NULL 值

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 );

欽此!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章