【问题标题】:how to print Original request body JSON without any modification in java?java - 如何在不进行任何修改的情况下打印原始请求正文 JSON?
【发布时间】:2020-09-30 12:52:56
【问题描述】:

通常使用 ObjectMapper 打印出请求正文 i,但这样会删除空格并将对象打印到一行中,例如:

如果我这样发送请求正文:

{
   "Header" : "value"
}

我使用 objectMapper 打印该对象

ObjectMapper mapper = new ObjectMapper();
mapper.writeValueAsString(requestBody)

输出是这样的:

{"Header":"value"}

如何打印原始请求正文而不做任何修改?

【问题讨论】:

    标签: java json api


    【解决方案1】:

    我认为不使用任何框架你就无法做到这一点。

    但如果启用prettyPrinting 选项,则可以使用 gson。示例:

    Gson gson = new GsonBuilder()
                .setPrettyPrinting()
                .create();
    
    prettyPrintedString = gson.toJson(requestBody, Object.class);
    

    【讨论】:

      【解决方案2】:

      我不确定您是否可以以原始形式打印它,但您可以打印它。 使用 Jackson 的 Object Mapper,您可以执行以下操作:

      ObjectMapper mapper = new ObjectMapper();
      String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(body);
      System.out.println(json);
      

      ObjectMapper mapper = new ObjectMapper().enable(SerializationFeature.INDENT_OUTPUT);
      String json = mapper.writeValueAsString(body);
      System.out.println(json);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-04-01
        • 2020-09-13
        • 1970-01-01
        • 1970-01-01
        • 2010-11-05
        • 2020-02-13
        • 1970-01-01
        • 2019-04-06
        相关资源
        最近更新 更多