zoukankan      html  css  js  c++  java
  • 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.     },  
    10.     error:function (){  
    11.          alert("insert serv wrong  ");  
    12.     }  
    13.   );  
    14.  }  

    三、后台代码

           后台获取到的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.     } 
  • 相关阅读:
    转载:混淆包含SlidingMenu、gson等Android代码的proguard写法
    今天解决的两个问题
    C++中指针和引用的区别
    负载均衡服务器session共享的解决方案 (转载)
    Entity Framework的默认值BUG解决方法
    【转】SAPI中的IspeechRecoContext(接口)
    Sapi 添加语法的文章(转载)
    SAPI训练文件存储位置
    Flask第九篇 Flask 中的蓝图(BluePrint)
    Flask 第八篇 实例化Flask的参数 及 对app的配置
  • 原文地址:https://www.cnblogs.com/limeiky/p/6346443.html
Copyright © 2011-2022 走看看