我想最小化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"}


我如何去除这些空间,它是否安全?谢谢!

最佳答案

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}

07-24 19:22
查看更多