HttpResponse 响应字符串有额外的 `"` 并且不识别 `\n`
HttpResponse response String has extra `"` and doesn't recognize `\n`
我有一个 class 实现了 Route 接口(包 spark),它应该 return handle
函数中的一个字符串。当我将响应转换为字符串时,我的字符串的开头和结尾有两个额外的 "
并且 \n
在我的字符串中不被识别为 1 个字符,而是被识别为 2 个字符。有谁知道修复?
这是代码,response
是 HttpResponse
的实例:
Assert.assertEquals(200, response.getStatusLine().getStatusCode());
String output = EntityUtils.toString(response.getEntity())
下一个断言失败
Assert.assertEquals(10, output.length());
Java.lang.AssertionError:
Expected :10
Actual :13
并且根据System.out
输出是
"123456789\n"
虽然它应该是 123456789
并且末尾有一个 \n
但我不认为 \n
应该显示在 System.out.print()
这可能有帮助,
HttpEntity entity = response.getEntity();
String responseString = EntityUtils.toString(entity, "UTF-8");
System.out.println(responseString);
参考资料来自 -
这个问题和答案可能会有所帮助:
基本上我建议使用 3d 派对库来为你处理 http requests/responses 以下是我对那个问题的回答的相关部分的副本:
您可以使用发送 Http 请求并处理响应的 3-d 方库。 well-known 产品之一是 Apache commons HTTPClient:HttpClient javadoc, HttpClient Maven artifact. There is by far less known but much simpler HTTPClient (part of an open source MgntUtils library written by me): MgntUtils HttpClient javadoc, MgntUtils maven artifact, MgntUtils Github。使用这些库中的任何一个,您都可以发送 REST 请求并独立于 Spring 接收响应,作为业务逻辑的一部分
这就是最后为我解决的方法,如果其他人有同样的问题:
String output = EntityUtils.toString(response.getEntity())
String content = new Gson().fromJson(output, String.class);
我有一个 class 实现了 Route 接口(包 spark),它应该 return handle
函数中的一个字符串。当我将响应转换为字符串时,我的字符串的开头和结尾有两个额外的 "
并且 \n
在我的字符串中不被识别为 1 个字符,而是被识别为 2 个字符。有谁知道修复?
这是代码,response
是 HttpResponse
的实例:
Assert.assertEquals(200, response.getStatusLine().getStatusCode());
String output = EntityUtils.toString(response.getEntity())
下一个断言失败
Assert.assertEquals(10, output.length());
Java.lang.AssertionError:
Expected :10
Actual :13
并且根据System.out
输出是
"123456789\n"
虽然它应该是 123456789
并且末尾有一个 \n
但我不认为 \n
应该显示在 System.out.print()
这可能有帮助,
HttpEntity entity = response.getEntity();
String responseString = EntityUtils.toString(entity, "UTF-8");
System.out.println(responseString);
参考资料来自 -
这个问题和答案可能会有所帮助:
基本上我建议使用 3d 派对库来为你处理 http requests/responses 以下是我对那个问题的回答的相关部分的副本:
您可以使用发送 Http 请求并处理响应的 3-d 方库。 well-known 产品之一是 Apache commons HTTPClient:HttpClient javadoc, HttpClient Maven artifact. There is by far less known but much simpler HTTPClient (part of an open source MgntUtils library written by me): MgntUtils HttpClient javadoc, MgntUtils maven artifact, MgntUtils Github。使用这些库中的任何一个,您都可以发送 REST 请求并独立于 Spring 接收响应,作为业务逻辑的一部分
这就是最后为我解决的方法,如果其他人有同样的问题:
String output = EntityUtils.toString(response.getEntity())
String content = new Gson().fromJson(output, String.class);