本文转自: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是类似这样的对象数据:

  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:

  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类型的,值为:

  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好用,就试了下。在此给大家提供个参考。

    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. }

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

  1. 前台的js对象数组传到后台处理。在前台把js对象数组转化为json字符串,在后台把json字符串解析为List<>

    前台的js对象数组传到后台处理.在前台把js对象数组转化为json字符串,在后台把json字符串解析为List<>

  2. 数组传到后台 string[] 获取

    调试的 时候js  断点到后台 js上面也可以查看 传到后台的数据 方便查看~~

  3. Java上传且后台解析XML文件

    后台代码: import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.InputStream ...

  4. 使用 jQuery.TypeAhead 让文本框自动完成 (三)(服务器返回 JSON 复杂对象数组)

    项目地址:https://github.com/twitter/typeahead.js 直接贴代码了: @section headSection { <script type="te ...

  5. 数据类型,隐式转换以及json,对象,引用类型,预解析 视频教程

    随便看看,需要有一点一点基础. 链接:http://pan.baidu.com/s/1c20pcOC 密码:xq2x

  6. 如何将js的object对象传到后台--->JavaScript之对象序列化

    一个问题:前台js如何传Object对象到后台哪 百度了半天,结果如下:只需要将object对象转化成json格式  然后传到后台  再在后台解析json字符串即可 那么问题来了: Object如何转 ...

  7. js对象传到后台ACTION使用

    需的包 <script type="text/javascript" src="s"></script>gson-1.2.3.jar谷歌 ...

  8. Java中把对象、对象bean、list集合、对象数组、Map和Set以及字符串转换成Json

    对象转换为Json 对象bean转换为Json List集合转换为Json 对象数组转换为Json Map集合转换为Json Set集合转为Json 字符串转换为Json 把Java对常用的一些数据转 ...

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

    ajax获得php传过来的json二维数组对象,jquery解析 php代码: <?php $news = array( '武汉'=>array(1,2,3), '广州'=>arra ...

随机推荐

  1. Jquery相关插件

    jQuery 插件autocomplete 应用 介绍 $("#AccountNames").autocomplete(Accounts, { minChars: 0, match ...

  2. Chrome控制台console的各种用法(方便调试)

    1.输出信息 console.log('消息内容!'); //输出普通信息 console.info('消息内容!'); //输出提示信息 console.error('消息内容!');//输出错误信 ...

  3. MInio python

    # Install Minio library. # $ pip install minio # # Import Minio library. from minio import Minio # I ...

  4. mysql联合主键自增、主键最大长度小记

    前言 一. 联合主键自增问题 今天上午闲来无事翻看了下数据库分类表的设计,看到这样一幕: 当时我好奇的是怎么cateId自增会存在重复值的问题,然后翻看了下主键是由siteId和cateId组成.所以 ...

  5. 将实体类、匿名对象转换为SqlParameter列表

    /// <summary> /// <remarks> /// <para>将实体类/匿名对象转换为SqlParameter列表</para> /// ...

  6. bzoj 1036: [ZJOI2008]树的统计Count 树链剖分+线段树

    1036: [ZJOI2008]树的统计Count Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 16294  Solved: 6645[Submit ...

  7. 网页title左边显示网页的logo图标

    打开某一个网页会在浏览器的标签栏处显示该网页的标题和图标,当网页被添加到收藏夹或者书签中时也会出现网页的图标,怎么在网页title左边显示网页的logo图标呢? 方法1: 找一个或者作一个ico文件, ...

  8. Uncaught TypeError: (intermediate value)(...) is not a function 上一个方法结束没有加分号; 代码解析报错

    Uncaught TypeError: (intermediate value)(...) is not a function 别忽略了,  第一个方法后面的结束 分号; 不起眼的,引来麻烦, 哎,规 ...

  9. numpy函数

    a=np.array([1,2,3,4,5,6]) a=a.reshape([2,-1])      # -1:表示3,此处将a数组设置为2行3列 a[1,2]=66  # 把a的6改成66 a=np ...

  10. redis安装配置:inux系统为centOS 64位

    下载Redis-4.0.6.tar.gz包 我下载的到自己的默认目录/root/software/下 1. 然后解压到这个目录下 /usr/local/src/ 解压命令: tar -xzf redi ...