关于前台js传对象数组到Controller中用list封装

js代码:

 var data000= "[{ 'name': 'Brett','age':'12' }, { 'name': 'Jason', 'age':'23' }, { 'name': 'Elliotte', 'age':'33'}]";//必须以这种格式
    alert(data000);
     $.ajax({
          url:'traceabilityController/test1.do',
          data:{persons:data000},
          type: "post",
          success:function(o){
          }
        });

   注意:ajax请求中不能要这两个属性

          dataType:'json',
          contentType: "application/json",

   否则读到后台的persons为null


后台代码:

注意:要引用gson.jar

     @RequestMapping("/test1")
      @ResponseBody
    public void test1( String persons){
        System.out.println("test1");
        System.out.println("persons:"+persons);
        Gson gson = new Gson();
        List list = gson.fromJson(persons, new TypeToken>() {}.getType()); //要保证persons的格式为[{ 'name': 'Brett',  'age':'12' }, { 'name': 'Jason', 'age':'23' }, { 'name': 'Elliotte', 'age':'33'}]
        
        System.out.println("__"+list.get(0).getAge());
        System.out.println(list);

}

这样就可以把jsonObject 对象封装在list里面



你可能感兴趣的:(关于前台js传对象数组到Controller中用list封装)