java如何在日志中打印RESTJSON请求/响应?
我正在调用JSON REST服务,在返回的响应中,我有转义字符
我希望避免转义字符(让它们被解释),并漂亮地打印一个JSON响应。由于某些限制,我无法使用GSON。我尝试过漂亮的打印选项,但似乎不起作用
所有这些都必须在JAVA中完成
例如
String originalString = "{\n "name":"xyz",\n "age":"23"\n}"
作为字符串提供。必须将其转换为
String newString = {"name":"xyz","age":"23"}
如果可能的话,我应该能够在日志中用适当的缩进很好地打印出来,比如
{
"name":"xyz",
"age":"23"
}
我从RESTJSON服务响应中获取日志中的原始字符串。可以在日志中以某种方式打印新字符串(StringBuilder或其他方式)
编辑:上一级,询问此问题的原因是在日志中打印请求/响应。我在为请求执行时使用了this作为输入。然而,在记录请求之后,我面临着记录响应的问题。问题是
Request processing failed; nested exception is java.lang.IllegalStateException: SRVE0209E: Writer already obtained
有没有人面临过类似的问题?我认为问题在于能够缓存响应,就像上面示例链接中的请求一样
# 1 楼答案
使用Apache commons lang StringEscapeUtils类可以实现这一点。下面是同样的片段
逃逸者。unescape HTML(originalString)