在Java后端接收前端传递的数组,可以通过以下几种方法:
1. 使用`@RequestParam`注解:
前端可以通过URL参数形式传递数组,例如:`/example?arrayParam=value1&arrayParam=value2&arrayParam=value3`。
后端使用`@RequestParam`注解接收数组参数,例如:
```java
@GetMapping("/example")
public void example(@RequestParam("arrayParam") List <String> arrayParam) {
// 处理接收到的数组参数
}
2. 使用`@RequestBody`注解:
前端可以将数组作为JSON数据传递,例如:`const arrayParam = ['value1', 'value2', 'value3'];`。
后端使用`@RequestBody`注解接收数组参数,例如:
```java
@PostMapping("/example")
public void example(@RequestBody List
arrayParam) { // 处理接收到的数组参数
}
3. 使用JSON解析库:
前端使用`JSON.stringify()`将数组转换为JSON字符串,并通过AJAX发送给后端。
后端使用JSON解析库(如`org.json`或`com.alibaba.fastjson`)将JSON字符串解析为Java对象,例如:
```java
// 使用org.json
String jsonStr = request.getInputStream();
JSONArray jsonArray = new JSONArray(jsonStr);
for (int i = 0; i < jsonArray.length(); i++) {
System.out.println(jsonArray.getJSONObject(i));
}
// 使用com.alibaba.fastjson
String jsonStr = request.getInputStream();
List
for (String value : arrayParam) {
System.out.println(value);
}
请根据您的具体需求选择合适的方法。