首页 > 解决方案 > Jackson JSON 在序列化时跳过空格

问题描述

我想最小化由 java Jackson (de)serializer 生成的 JSON。它仅在 java 中被读取。

我知道,我可以使用它mapper.enable(SerializationFeature.INDENT_OUTPUT)来启用或禁用调试缩进,使我的 JSON 更具可读性。但是我也可以(安全地)避免空格来剥离我的 JSON 吗?

例如,在大多数“人类可读的格式”中,它是:

{
  "a": "b",
  "c": "d"
}

没有缩进它是:

{ "a": "b", "c": "d" }

但我确实想要实现的是:

{"a":"b","c":"d"}

我怎样才能剥离这些空间,它是否安全?谢谢!

标签: javajsonjackson

解决方案


Jackson框架的默认输出被最小化。

public class MinimizeJsonClient {
    public static void main(String[] args) throws JsonProcessingException {
        ObjectMapper objectMapper = new ObjectMapper();
        User user = new User();
        user.setAge(30);
        user.setName("HenryXi");
        System.out.println(objectMapper.writeValueAsString(user));
    }
}

输出如下。

{"name":"HenryXi","age":30}

推荐阅读