在执行Json时,也会包含vertx中的encodePrettily(object)空值。因此需要知道如何配置它以避免响应空值。
bogh5gae1#
io.vertx.core.json使用Jacksonfasterxml实现,因此vertx内部使用jackson fasterxml库。因此,除非明确要求,否则不需要在vertx中使用任何其他json库。因此,为了避免相同情况,我们可以使用以下方法
Json.prettyMapper.setSerializationInclusion(Include.NON_NULL);
q5lcpyga2#
您也可以在模型类的顶部添加@JsonInclude(JsonInclude.Include.NON_NULL)。
@JsonInclude(JsonInclude.Include.NON_NULL)
xtfmy6hx3#
Json.prettyMapper已弃用。您可以手动删除空值。一个lambda:
Json.prettyMapper
import io.vertx.core.json.Json; import io.vertx.core.json.JsonObject; MyCustomDtoClass body = new MyCustomDtoClass(...) JsonObject jsonBody = new JsonObject(Json.encode(body)) .stream() .filter(e -> e.getValue() != null) .collect( Collectors.collectingAndThen( Collectors.toMap(Entry::getKey, Entry::getValue), JsonObject::new ) );
3条答案
按热度按时间bogh5gae1#
io.vertx.core.json使用Jacksonfasterxml实现,因此vertx内部使用jackson fasterxml库。因此,除非明确要求,否则不需要在vertx中使用任何其他json库。
因此,为了避免相同情况,我们可以使用以下方法
q5lcpyga2#
您也可以在模型类的顶部添加
@JsonInclude(JsonInclude.Include.NON_NULL)
。xtfmy6hx3#
Json.prettyMapper
已弃用。您可以手动删除空值。一个lambda: