• jsp采用ajax传递数组给后台controller并遍历


    ajax传递数组,期间出各种各样的问题,那叫一个头疼,网上各种查,都没有解决,最终摸索摸索加借鉴搞定,不多说,上代码

     1     /* 复选框选定部分 */
     2         $("#delete").click(function(){
     3             var array = [];
     4             $("input[name='singlecheckbox']:checked").each(function(){
     5                 array.push($(this).val());
     6                 alert($(this).val())
     7             })
     8             alert(JSON.stringify(array));
     9              $.ajax({
    10                 url:"delete.action",
    11                 dataType:"json",
    12                 traditional:true,
    13                 contentType:"application/json",
    14                 type:"POST",
    15                 data:JSON.stringify(array),
    16                 success:function(data){
    17                     window.loacation.href="list.action";
    18                 }
    19             }) 
    20             
    21         })

    controller层

     1     @RequestMapping(value="/delete.action",method=RequestMethod.POST)
     2     @ResponseBody
     3     public void delete(@RequestBody String ids){   //注意因为我的数组传递过来不是对象形式只是[1,2,3,4]形式,接收的形参用的是String,需要注意,所以不能转为JSONObject
     4         System.out.println("ids:"+ids);
     5 //        ObjectMapper json= new ObjectMapper();
     6         JSONArray json = JSONArray.fromObject(ids);
     7         System.out.println(json.size()+"json的长度");
     8         if(json.size()>0){
     9               for(int i=0;i<json.size();i++){
    10 //                JSONObject job = json.getJSONObject(i);  // 遍历 jsonarray 数组,把每一个对象转成 json 对象---因为我的数组只是简单的数字,所以不能转成对象,报错不适用
    11                 System.out.println(json.get(i)+"=") ;  // 得到 每个对象中的属性值
    12               }
    13             }
    14     }

    网上给的都是对象形式如,我这块同样需要相应jar包

    当需要把一串字符串转成一个json 数组 ,并遍历其中的内容时。

    首先要导入 net.sf.json.JSONArray和net.sf.json.JSONObject 两个jar 包

    String str = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'},{name:'d',value:'dd'}]" ;  // 一个未转化的字符串

    JSONArray json = JSONArray.fromObject(str ); // 首先把字符串转成 JSONArray  对象

    if(json.size()>0){
      for(int i=0;i<json.size();i++){
        JSONObject job = json.getJSONObject(i);  // 遍历 jsonarray 数组,把每一个对象转成 json 对象
        System.out.println(job.get("name")+"=") ;  // 得到 每个对象中的属性值
      }
    }

  • 相关阅读:
    《链队列---队列的链式表示和实现》
    《栈的应用_版本1.2(实现了可以在一次运行后进行多次操作)》
    《栈的应用_版本1.1(实现了如何十进制转十六进制)》
    《栈的应用 版本1.0》
    《栈的基本操作》
    《单链表练习》
    hdu5887 Herbs Gathering
    CF198 div1 D
    hdu5893 List wants to travel
    hdu5556 Land of Farms
  • 原文地址:https://www.cnblogs.com/xiaoyao-001/p/8546168.html
Copyright © 2020-2023  润新知