600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > java ajax json 解析json数组对象数组对象数组对象数组_ajax传递包含对象数组的json数据...

java ajax json 解析json数组对象数组对象数组对象数组_ajax传递包含对象数组的json数据...

时间:2018-12-07 13:37:04

相关推荐

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数据已经被成功接收到了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。