servlet接收json数据
时间: 2023-08-13 17:34:38 浏览: 190
要在servlet中接收JSON数据,可以通过以下步骤实现:
1. 在servlet的doPost方法中获取请求的输入流对象:
```java
BufferedReader reader = request.getReader();
```
2. 读取输入流中的数据并将其转换为字符串:
```java
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line);
}
String jsonString = sb.toString();
```
3. 将JSON字符串解析成JSON对象:
```java
JSONObject json = new JSONObject(jsonString);
```
如果JSON字符串代表一个JSON数组,则应该使用JSONArray类来解析它。
4. 从JSON对象中获取所需的数据:
```java
String name = json.getString("name");
int age = json.getInt("age");
```
如果JSON对象中的值是一个JSON对象或JSON数组,则可以使用getJSONObject或getJSONArray方法来获取它们。
完整的示例代码如下所示:
```java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
BufferedReader reader = request.getReader();
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line);
}
String jsonString = sb.toString();
JSONObject json = new JSONObject(jsonString);
String name = json.getString("name");
int age = json.getInt("age");
// do something with the data
}
```
阅读全文