我將嵌入式雙引號數據從libcurl客戶端發佈到Tomcat servlet。 servlet讀取數據並將其發送回我的客戶端。如何防止servlet轉義響應中的雙引號
我送看起來像這樣
{
"id": 1,
"name": "Foo",
}
但我從servlet收到看起來像這樣
{
\"id\": 1,
\"name\": \"Foo\"
}
即所有的雙引號得到逃過一劫。
如何防止servlet轉義引號? 我的servlet做這樣的事情doPost方法內部
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
BufferedReader reader = request.getReader();
StringBuilder content = new StringBuilder();
char[] buffer = new char[4 * 1024];
int len = 0;
while (len >= 0) {
len = reader.read(buffer, 0, buffer.length);
if (len > 0) {
content.append(buffer, 0, len);
}
}
PrintWriter out = response.getWriter();
out.print(content.toString())
}
編輯
這解決了我的問題。
URLEncoder.encode(content.toString(),"UTF-8")
StringBuilder爲空,但是您至少在該方法中附加了它。 – Vulcan
@Vulcan謝謝。固定。這是複製粘貼錯誤,緩衝區在我的代碼中正確初始化。 – user841550