java ajax json 解析json数组对象数组对象数组对象数组_ajax传递包含对象数组的json数据...
一個(gè)簡(jiǎn)單的demo。用戶在前臺(tái)頁面表單輸入數(shù)據(jù)表的信息,數(shù)據(jù)傳遞到后臺(tái),系統(tǒng)自動(dòng)在后臺(tái)創(chuàng)建數(shù)據(jù)庫表(table)的功能。
作為簡(jiǎn)單demo,這里的表只有“表名”,“列名”,“數(shù)據(jù)類型”,“數(shù)據(jù)長度”四種信息。在后臺(tái)“數(shù)據(jù)庫表”封裝成“Table”對(duì)象,表中的每一字段“列”封裝成“Line”對(duì)象。后臺(tái)java代碼如下所示
// 數(shù)據(jù)庫表對(duì)象,其中成員包含Line類型的數(shù)組變量
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;
// 數(shù)據(jù)類型
private String dataType;
// 數(shù)據(jù)長度
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 + '\'' +
'}';
}
}
用戶在前臺(tái)表單輸入數(shù)據(jù)庫表的相關(guān)信息,點(diǎn)擊Creat Table按鈕調(diào)用前臺(tái)JavaScript函數(shù)傳輸數(shù)據(jù)
JavaScript代碼
// 獲取表名
function getTableName() {
var table = $("#tableName").val();
return table;
}
// 獲取字段,列數(shù)據(jù)
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;
}
// 傳輸數(shù)據(jù)
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) {
}
}
});
}
后臺(tái)接收代碼,我使用的是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;
}
}
控制臺(tái)toString()打印數(shù)據(jù)
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'}]
}
可見包含對(duì)象數(shù)組的json數(shù)據(jù)已經(jīng)被成功接收到了
總結(jié)
以上是生活随笔為你收集整理的java ajax json 解析json数组对象数组对象数组对象数组_ajax传递包含对象数组的json数据...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java只有高跟很高_女明星们为了合影不
- 下一篇: 新款大众高尔夫 R 卸去伪装:前大灯更小