java ajax json 解析json数组对象数组对象数组对象数组_ajax传递包含对象数组的json数据...
一個簡單的demo。用戶在前臺頁面表單輸入數據表的信息,數據傳遞到后臺,系統自動在后臺創建數據庫表(table)的功能。
作為簡單demo,這里的表只有“表名”,“列名”,“數據類型”,“數據長度”四種信息。在后臺“數據庫表”封裝成“Table”對象,表中的每一字段“列”封裝成“Line”對象。后臺java代碼如下所示
// 數據庫表對象,其中成員包含Line類型的數組變量
public class Table {
// 表名
private String tableName;
// 所有字段信息,列
private Line[] lines;
public String getTableName() {
return tableName;
}
public void setTableName(String tableName) {
this.tableName = tableName;
}
public Line[] getLines() {
return lines;
}
public void setLines(Line[] lines) {
this.lines = lines;
}
@Override
public String toString() {
return "Table{" +
"tableName='" + tableName + '\'' +
", lines=" + Arrays.toString(lines) +
'}';
}
}
// 字段,列
public class Line {
// 字段名,列名
private String lineName;
// 數據類型
private String dataType;
// 數據長度
private String dataLength;
public String getLineName() {
return lineName;
}
public void setLineName(String lineName) {
this.lineName = lineName;
}
public String getDataType() {
return dataType;
}
public void setDataType(String dataType) {
this.dataType = dataType;
}
public String getDataLength() {
return dataLength;
}
public void setDataLength(String dataLength) {
this.dataLength = dataLength;
}
@Override
public String toString() {
return "Line{" +
"lineName='" + lineName + '\'' +
", dataType='" + dataType + '\'' +
", dataLength='" + dataLength + '\'' +
'}';
}
}
用戶在前臺表單輸入數據庫表的相關信息,點擊Creat Table按鈕調用前臺JavaScript函數傳輸數據
JavaScript代碼
// 獲取表名
function getTableName() {
var table = $("#tableName").val();
return table;
}
// 獲取字段,列數據
function getLines() {
var lines = new Array();
for(var i = 0; i <= LineCont; i++) {
var line = new Object();
line.lineName = $("#line" + i + " " + "#lineName").val();
line.dataType = $("#line" + i + " " + "#dataType").val();
line.dataLength = $("#line" + i + " " + "#dataLength").val();
lines.push(line);
}
return lines;
}
// 傳輸數據
function creatTable() {
var tableName = getTableName();
var lines = getLines();
$.ajax({
url:"creatTableAction",
type:"post",
data:JSON.stringify({
tableName:tableName,
lines:lines}),
contentType: "application/json;charset=UTF-8",
dataType:"json",
success:function (data) {
if (data.result) {
}
}
});
}
后臺接收代碼,我使用的是Spring + SpringMVC框架
@Controller
public class MysqlController {
@RequestMapping("/creatTableAction")
@ResponseBody
public Map creatTable(@RequestBody Table table) {
System.out.println(table.toString());
Map resultMap = new HashMap();
return resultMap;
}
}
控制臺toString()打印數據
Table{
tableName='user',
lines=[Line{lineName='userName', dataType='VARCHAR', dataLength='20'},
Line{lineName='userId', dataType='VARCHAR', dataLength='20'},
Line{lineName='gender', dataType='CHAR', dataLength='1'},
Line{lineName='address', dataType='VARCHAR', dataLength='60'}]
}
可見包含對象數組的json數據已經被成功接收到了
總結
以上是生活随笔為你收集整理的java ajax json 解析json数组对象数组对象数组对象数组_ajax传递包含对象数组的json数据...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java只有高跟很高_女明星们为了合影不
- 下一篇: 新款大众高尔夫 R 卸去伪装:前大灯更小