ajax傳遞多組對象到後臺並解析
一.引入
平常我們在使用jquery ajax時,大多數是單一的參數,可能不會用到對象數組的,但是在某些情況下,就會遇到這個,(比如,我們需要批量添加一組人員的信息),這種情況下如果使用特殊字符串將各屬性值隔開,然後每組數據之間再用特殊字符隔開也是可以做到的,但是這不標準,易出錯,因此這時使用對象數組就能很好地解決上面的問題。
二.具體操作
(1)第一種方法
前臺js
var list={}; //聲明爲一個對象,這是一個數組對象
var student1= new Object();
student1.name = '張三';
student1.sex = '男';
list[0] = student1;
var student2= new Object();
student2.name = '張三';
student2.sex = '男';
list[1] = student2;
$.ajax({
url : "**********",
data : {'students':JSON.stringify(list)},
dataType : "json",
success : function(data) {
}
});
後臺解析:
JSONObject object=new JSONObject(students);
List<Student> list = new ArrayList<Student>();
for(int i=0;i<object.length();i++){
JSONObject jsonOb = object.getJSONObject(i+"");
String name= jsonOb.getString("name");
String sex = jsonOb.getString("sex");
list.add(new Student(name,sex));
}
這樣就取到了前臺傳過來的多組對象了
(2)第二種方法
前臺js
var list=new Array(); //創建一個數組
var student1= new Object();
student1.name = '張三';
student1.sex = '男';
list[0] = student1;
var student2= new Object();
student2.name = '張三';
student2.sex = '男';
list[1] = student2;
$.ajax({
url : "**********",
data : {'students':JSON.stringify(list)},
dataType : "json",
success : function(data) {
}
});
後臺解析:
JsonObject object=(JsonObject)new JsonParser().parse(students); //創建JsonObject對象
JsonArray jsonArray = object.getAsJsonArray(); //得到爲json的數組
for (JsonElement sftplog : jsonArray) {
JsonObject subObject=sftplog.getAsJsonObject(); //獲取其中的一個對象
lists.add(new Student(subObject.get("name").getAsString(),subObject.get("sex").getAsString());
}
還有很多方法,這裏就記錄兩種,大體上都是相同的。