本文转自: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. 防止网站检测出Selenium的window.navigator.webdriver属性

    只需在Chromeoptions对象中添加一个属性即可解决 import time from selenium.webdriver import Chrome, ChromeOptions optio ...

  2. Latex: 减少图与文字之间的空白间隙

    参考: Remove space after figure and before text Latex: 减少图与文字之间的空白间隙 论文中图与文字之间的空白间隙过大,导致排版不大美观.解决方法是在\ ...

  3. shell案例题

    目录: 1.批量生成随机字符文件名案例 2.批量改名特殊案例 3.批量创建特殊要求用户案例 1.批量生成随机字符文件名案例(P359) (1).利用openssl命令来实现 #!/bin/bash # ...

  4. HDU 5236 Article(概率DP)

    http://acm.hdu.edu.cn/showproblem.php?pid=5236 题意:现在有人要在文本编辑器中输入n个字符,然而这个编辑器有点问题. 在i+0.1s(i>=0)的时 ...

  5. HDU 5988 Coding Contest(浮点数费用流)

    http://acm.split.hdu.edu.cn/showproblem.php?pid=5988 题意:在acm比赛的时候有多个桌子,桌子与桌子之间都有线路相连,每个桌子上会有一些人和一些食物 ...

  6. 【Java】【问题】

    [log4j:WARN No appenders could be found for logger 解决方案] [解决] 我们在使用Log4j的时候,总是出现: log4j:WARN No appe ...

  7. 运行和控制Nginx——命令行参数和信号

    参考资料: Nginx中文文档: http://www.nginx.cn/nginxchscommandline Nginx的启动.停止.平滑重启.信号控制和平滑升级:http://zachary-g ...

  8. Qt532.【转】Qt创建鼠标右键菜单

    ZC:可以通过 设置  (QWebView*)->setContextMenuPolicy(NoContextMenu); 来关闭 QWebView的默认右键菜单 Qt创建鼠标右键菜单_疯华正茂 ...

  9. vue中的slot插槽

    插槽,也就是slot,是组件的一块HTML模板,这块模板显示不显示.以及怎样显示由父组件来决定. 实际上,一个slot最核心的两个问题这里就点出来了,是显示不显示和怎样显示. 1.navigation ...

  10. Android之StrictMode

    1. StrictMode是什么? StrictMode is a developer tool which detects things you might be doing by accident ...