【问题标题】:How to print a REST JSON request/response in the logs?如何在日志中打印 REST JSON 请求/响应?
【发布时间】:2016-02-09 11:29:29
【问题描述】:

我正在调用 JSON REST 服务,在返回的响应中,我有转义字符。

我想避免转义字符(让它们被解释),并漂亮地打印一个 JSON 响应。由于某些限制,我无法使用 GSON。我已经尝试过漂亮的打印选项,但这似乎不起作用。

所有这些都必须在 JAVA 中完成。

例如。

String originalString = "{\n    "name":"xyz",\n    "age":"23"\n}"

可作为字符串使用。这必须转换为

String newString = {"name":"xyz","age":"23"}

如果可能的话,我应该能够以适当的缩进将其漂亮地打印在日志中 - 类似于,

{
    "name":"xyz",
    "age":"23"
}

我从 REST JSON 服务响应获取日志中的原始字符串。可以在日志中以某种方式打印新字符串(StringBuilder 或其他方式)。

编辑:上一层,问这个问题的原因是在日志中打印请求/响应。我在处理请求时使用了this 作为输入。但是,在记录请求后,我遇到了记录响应的问题。问题是,

Request processing failed; nested exception is java.lang.IllegalStateException: SRVE0209E: Writer already obtained

有人遇到过类似的问题吗?我认为的问题是能够像上面示例链接中的请求一样缓存响应。

【问题讨论】:

  • 您希望它在哪里打印得漂亮?在网站上?

标签: java json regex rest


【解决方案1】:

使用 Apache commons-lang StringEscapeUtils 类可以实现这一点。下面是相同的sn-p。

StringEscapeUtils.unescapeHtml(originalString);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-23
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 2019-10-26
    • 1970-01-01
    • 2021-08-14
    • 1970-01-01
    相关资源
    最近更新 更多