java提供三种接收前端数组的方法:使用@requestbody注解绑定json数组到java对象(list);使用httpservletrequest直接访问http请求body,提取json数组;使用jackson库将json数组映射到java对象(integer[])。

如何使用 Java 接收前端传来的数组
Java 是一门后端编程语言,用于处理来自前端(通常是使用 JavaScript)传递的数据。接收前端传来的数组有几种方法:
1. 使用 @RequestBody
使用 @RequestBody 注解可以将前端传递的 JSON 数据直接绑定到 Java 对象。对于数组,使用 List<yourdatatype></yourdatatype> 类型来接收。
立即学习“Java免费学习笔记(深入)”;
示例代码:
支持模板化设计,基于标签调用数据 支持N国语言,并能根据客户端自动识别当前语言 支持扩展现有的分类类型,并可修改当前主要分类的字段 支持静态化和伪静态 会员管理功能,询价、订单、收藏、短消息功能 基于组的管理员权限设置 支持在线新建、修改、删除模板 支持在线管理上传文件 使用最新的CKEditor作为后台可视化编辑器 支持无限级分类及分类的移动、合并、排序 专题管理、自定义模块管理 支持缩略图和图
<code class="java">import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ArrayController {
@PostMapping("/receive-array")
public void receiveArray(@RequestBody List<Integer> numbers) {
// do something with the array
}
}</code>2. 使用 HttpServletRequest
使用 HttpServletRequest 可以直接访问 HTTP 请求的 body。
示例代码:
<code class="java">import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ArrayController {
@PostMapping("/receive-array")
public void receiveArray(HttpServletRequest request) {
String jsonArray = request.getReader().lines().collect(Collectors.joining());
// parse jsonArray into an array
}
}</code>3. 使用 Jackson 库
Jackson 库提供了一个 ObjectMapper,可以将 JSON 数据映射到 Java 对象。
示例代码:
<code class="java">import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ArrayController {
private final ObjectMapper objectMapper;
public ArrayController(ObjectMapper objectMapper) {
this.objectMapper = objectMapper;
}
@PostMapping("/receive-array")
public void receiveArray(String jsonArray) {
Integer[] numbers = objectMapper.readValue(jsonArray, Integer[].class);
// do something with the array
}
}</code>









