我使用libcurl客户端的嵌入式双引号发布数据到Tomcat 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")
答案 0 :(得分:1)
在编写字符串之前对其进行编码。