servlet获取body中的json参数utf-8编码
时间: 2023-08-13 15:25:22 浏览: 94
要以UTF-8编码从Servlet中获取JSON参数,您可以使用以下代码:
```java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String jsonString = "";
try {
BufferedReader bufferedReader = request.getReader();
String line;
while ((line = bufferedReader.readLine()) != null) {
jsonString += line;
}
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
jsonString = URLDecoder.decode(jsonString, "UTF-8");
JSONObject jsonObject = new JSONObject(jsonString);
// 处理jsonObject
}
```
在这个示例中,我们使用了`request.getReader()`来获取请求的输入流,然后使用BufferedReader来读取JSON参数。我们将读取到的行添加到字符串中,最后使用`URLDecoder.decode()`方法将字符串解码为UTF-8格式的字符串。最终,我们将该字符串转换为JSONObject对象以进行进一步处理。
需要注意的是,如果您使用的是Spring MVC框架,则可以使用`@RequestBody`注解将JSON参数注入到您的Java对象中,从而避免手动解析JSON字符串。
阅读全文