Java技巧——将前端的对象数组通过Json字符串传到后端并转换为对象集合

时间:2024-01-15 16:11:38

Java技巧——将前端的对象数组通过Json字符串传到后端并转换为对象集合

摘要:本文主要记录了如何将将前端的对象数组通过Json字符串传到后端,并在后端将Json字符串转换为对象集合。

前端代码

前端代码的功能是获取页面上的学生信息,使用对象数组保存,将对象数组转换为Json字符串传递到后端:

 var students = $("#studentList .item");
var studentList = [];
for (var i = 0; i < students.length; i++) {
var student = {};
student["name"] = $(students[i]).attr("name");
student["sex"] = $(students[i]).attr("sex");
student["age"] = $(students[i]).attr("age");
studentList.push(drug);
}
var drugListStr = JSON.stringify(studentList);
ajaxAsyncUtil(drugListStr, mainpath + "/student/addStudentList.do", function (response) {
alert("操作成功");
});

后端代码

后端代码的功能是获取前端传入的Json字符串,并解析为对象集合进行遍历:

 @RequestMapping(value = "addStudents.do")
public void addStudents(HttpServletRequest request, HttpServletResponse response, String callback, String studentListStr) throws Exception {
//String studentListStr = "[{\"name\":\"张三\",\"sex\":\"男\",\"age\":\"20\"},{\"name\":\"李四\",\"sex\":\"女\",\"age\":\"25\"},]";
List<Student> studentList = JSONObject.parseArray(studentListStr, Student.class);
for (Student student : studentList) {
System.out.println(student.getName());
}
}

其中,在后端使用的转换是来自于 com.alibaba.fastjson 包下的类。