Json:前台对象数组传到后台解析

本文转自:http://blog.csdn.net/kymegg/article/details/50964581

方法:使用JsonArray进行解析

步骤:

一、引入一系列JAR包

要使程序便于解析json,首先引入json-lib包,son-lib包同时依赖于5个JAR包:(前5个为依赖包);

由于刚开始笔者是随便下载这些包(没有管版本)导入程序,但没想到程序出现了兼容问题,为了使大家不再浪费时间,现给出经测试可用的一套包名及版本号;

1.commons-beanutils-1.8.3.jar

2.commons-collections-3.2.1.jar

3.commons-lang-2.6.jar

4.commons-logging-1.1.1.jar

5.ezmorph-1.0.6.jar

6.json-lib-2.4-jdk15.jar

二、前台代码

datalist是类似这样的对象数据:

[javascript] view plain copy

  1. var datalist= new Array();
  2. for ( var i = 1; i <= bookCount; i++) {
  3.   var object = new Object();
  4.   object.id = i;
  5.   object.name = "同学"+i;
  6. datalist.push(object);
  7. }

前台传输对象数组datalist:

[javascript] view plain copy

  1. function saveData(datalist){
  2.   .ajax({
  3.     type:"POST",
  4.     url:base +"/save",
  5.     data:{"datalist":JSON.stringify(datalist)},
  6.     dataType: "json",
  7.     success:function (data){
  8.     },
  9.     error:function (){
  10.     alert("insert serv wrong  ");
  11.     }
  12.   );
  13. }

三、后台代码

后台获取到的list是string类型的,值为:

[java] view plain copy

  1. [{"id":1,"name":"同学1"},{"id":2,"name":"同学2"}]

后台转换得到对象对应值:

注意:这样使用的话,引入JSONArray的类型为org.json而不是net.sf.json,笔者开始引入的是net.sf.json.JSONArray,但JSONObject.fromObject(obj)时报错报Java.lang.reflect.InvocationTargetException错误。解决很久未果,偶然看一网友说用org.json比net.sf.json好用,就试了下。在此给大家提供个参考。

[java] view plain copy

    1. public Object save(@Param("datalist")String list){
    2.   JSONArray jsonArray = new JSONArray(list);
    3.   String id = jsonArray.getJSONObject(0).get("id");</span>//得到第一个同学的id
    4.   String name = jsonArray.getJSONObject(0).get("name");</span>//得到第一个同学的name
    5.       return true;
    6. }
时间: 2024-10-06 11:22:40

Json:前台对象数组传到后台解析的相关文章

asp.net html中table数据转换为数组传给后台

在html中如有table表格,进行填写.如果每个填写值都用juqery获取name属性进行获取值,之后再传输给后台这样比较麻烦. 有一个简单的方式就是利用jquery获取table的每一行,赋值到数组里面利用Ajax传输给后台. 1.html中table代码 <table class="table table-bordered physical_table"> <thead> <tr><th>姓名</th><th>

js的Array数组传到后台的方法

页面代码 var array = new Array(); ......//array.push();   赋值 $.ajax({ url:url, async:true, data: { array: array, test : 'test' },success : function (result){ } }); 后台Mybatis直接接收即可 @RequestMapping(value="/XXX") @ResponseBody public void updateByClust

js对象传到后台ACTION使用

需的包 <script type="text/javascript" src="s"></script>gson-1.2.3.jar谷歌JSON包用于后台转换 前台JS JS对象 var testVo={id:"abc",name:"lvkai"} 转成JSON格式当参数传到后台 $.toJSON(testVo); 后台需要有一个对应的VO属性必需跟前台JS对象属性保持一致 String testVo=

jquery解析php通过ajax传过来的json二维数组对象

ajax获得php传过来的json二维数组对象,jquery解析 php代码: <?php $news = array( '武汉'=>array(1,2,3), '广州'=>array('rain','shu','fruit'), '北京'=>array('yellow','orange','black'), '上海', '深圳' ); echo json_encode($news); 前台页面 <!DOCTYPE html> <html lang="e

将前台input中的数组异步传到后台并存入数据库

将前台input中的数组异步传到后台并存入数据库 先看图: 利用ajax异步交互数据,并不是以json数组的形式将数据传到后台,而是利用字符数组的形式将其传到后台.动态新增每一行数据,将每一列对应的数据存入数组,并传到后台中进行入库.(当然可以直接以json数组的形式将每一行的数据传到后台,这里就不详细讲了) 前台js代码: ///保存多行数据,运用ajax异步交互请求 function btnSave() { /*传值方式一:将添加的每一字段的值存在数组中,再将数组转换成字符串串传到后台*/

springMVC和Json的交互(就是后台解析json字符串和向前台传递json字符串的过程)

springMVC中和json的交互:主要分为两点,一是传递过来的是json字符串,springMVC会先进行解析,二是传递过来的是key:value那么springMVC可以不进行解析,这里的解析指的是json和java对象之间的转换 java对象:就是实体类的对象 首先先来看一张交互的图: 分析: 1.从这个图中我们可以看出来,前台请求的数据如果是json字符串,我们需要用@RequestBody先将json字符串转成java对象,然后前台传输的是java对象的时候就需要用@Response

php前端传过来的字符串在后台解析成数组 同时批量添加

//前端页面代码 获取多行的obj function addBedType() { var obj = document.getElementsByName('type_name'); var duoxuan = ''; for (var i = 0; i < obj.length; i++) { duoxuan += obj[i].value + ',';//如果选中,将value添加到变量duoxuan中 //alert(duoxuan);} if (duoxuan.length < 1)

Java后台 解析JSON的几个方法

1.对象转JSON对象. public static void main(String[] args) { Domain demo = new Domain( "在线JSON校验格式化工具 -SOJSON在线工具(sojson.com)", "http://www.sojson.com/", "提供json在线格式化,json在线格式化工具,json 格式化输出,json格式化 空串,json 格式化插件,json字符串格式化,json视图,json 在线

ajax使用json数组------前端往后台发送json数组及后台往前端发送json数组

1.引子 Json是跨语言数据交流的中间语言,它以键/值对的方式表示数据,这种简单明了的数据类型能被大部分编程语言理解.它也因此是前后端数据交流的主要方式和基础. 2.前端往后台传输json数据 第一步,先应该定义一个JSON对象或JSON数组.json对象是“var jsonObj={“name1”:“value1” , “name2”:“value2” , “name3”:“value3”,…};”的格式定义,而json数组则是以中括号"[ ]"包裹多个json对象的格式定义,如