一个简单的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数据...相关推荐

  1. url中传递对象参数_在URL参数中传递复杂对象

    url中传递对象参数 假设您想传递原始数据类型,例如复杂的Java对象 java.util.Data,java.lang.List,泛型类,数组以及通过URL参数所需的所有内容,以便在页面加载后在任何 ...

  2. 使用HIVE 自带的JSON 函数进行json解析 同时解析JSON数组

    数据展示 这是遗传JSON字符串 ,是一个还款计划,其中包含了很多的还款计划. {"plan":[{"principal":"1114.09" ...

  3. JSON解析:JSON对象还能这样???

    自信平生无愧事,死后方敢对青天. 有目录,不迷路 前言 缘由 转换 蹊径 前言 愉快的(3+7=8的)中秋国庆假期已经接近尾声,特此写篇博客聊以记录学习过程尽早进入学习状态,也便不陷入假期综合征,使得 ...

  4. 深入 Go 中各个高性能 JSON 解析库

    深入 Go 中各个高性能 JSON 解析库 转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com/archives/535 其实本来我是没打算 ...

  5. 关于Json解析(org.json.JSONObject)

    关于Json解析(org.json.JSONObject) 小感慨:踏入编程界有一段时间了,至今连Json解析都不会,平时遇到Json字符串都闲麻烦,直接用String类中的方法进行截取.所谓人无远虑 ...

  6. JavaScript JSON解析

    最近在uniapp中遇到了一个bug,排查后是json解析的问题.对uniapp开发比较熟悉的,应该会知道uni.navigateTo 这个API方法.这是官方提供用于跳转页面的方法. 有时候我们在跳 ...

  7. C++中json解析开源库收集,支持json5

    文章目录 zpl-c 库 HJSON cJSON RapidJSON (推荐) DAW JSON Link v2 JSON ,这库稳定,文档齐全.(推荐) json-c (c实现) json_dto ...

  8. QT——JSON解析

    一些相关知识的链接: 有关JOSN相关的基础知识:JSON基础 有关QT中JSON的操作:QT中JSON的操作 一个在线工具,可以进行JSON格式化分析的网址:JSON格式化 如何从网络中轻松得到JS ...

  9. Android——网络交互,如何调用接口并且json解析json格式和pull解析xml格式

    本菜鸟因为之前一直使用的是公司前辈封装好的类(网络接口调用超级方便有木有)完全没有想过有一天我会自己写,然后今天接触的时候一脸懵逼,然后今天花了一天时间终于研究好了:哈哈哈哈哈 二话不说先上代码: p ...

最新文章

  1. mvc中的ViewData用到webfrom中去
  2. 安全的 ActiveMQ
  3. Zebra项目:分析、实施与测试
  4. python numpy 数组元素周围_Python numpy数组元素属性及访问
  5. easyui使用心得
  6. Spring Boot细节挖掘(Redis的集成)
  7. jsp+servlet+jdbc实现对数据库的增删改查
  8. Android RadioButton(单选按钮)点击事件的两种方法
  9. Gambit建模中split的用法
  10. HTML代码实现简易购物车-web前端教程
  11. 选择信号的采样频率和信号长度的技巧
  12. 大型C语言打怪小游戏——神魔
  13. 2020 gnome 桌面插件推荐
  14. 计算机二级考试python+C语言通过记录
  15. 说说最近的工作/生活经历
  16. 数学之美--计算机图形学中的数学方法论
  17. 谈谈:高端网站定制开发的流程和步骤有哪些?
  18. JavaScript常用正则判断(待续...)
  19. html中怎样写css路径,CSS 书写位置
  20. java传真发送_调用java API发送传真

热门文章

  1. linux mount文件夹
  2. 数据库和MySQL相关面试题目
  3. 我的算法学习(一)----数组的全排列
  4. 每天读5分钟,受益匪浅、
  5. go语言条件语句 if else
  6. Git+SourceTree使用时出现的问题
  7. Got a packet bigger than 'max_allowed_packet' bytes
  8. stream 的方式遍历(亲测)
  9. sublime text2 用ctags插件实现方法定位(转)
  10. android 屏幕完美适配,Android完美适配不同屏幕