2014-11-16 42 views
0

我有一个数组来自UI但我用JSON.strignify()来发送它,有没有什么办法来解析它的字符串?解析从UI发送到java数组中的字符串

我的JavaScript功能:

function chooseChair() { 
     var chairNum = []; 
     $('.check:checked').each(function() { 
      chairNum.push($(this).val()); 
     }) 
     var busId = $('.checkId').val(); 
     var chairNumber = JSON.stringify(chairNum); 
     alert(chairNum); 
     alert(busId); 
     $.ajax({ 
      type : "POST", 
      url : "http://localhost:8080/spr-data/searchChair", 
      data : { 
       chairNumber : chairNum, 
       busId : busId 
      } 
     }).done(function(data) { 
      alert(JSON.stringify(data)); 
     }) 
    } 

我的控制器:

​​

和的System.out.println(chairNum [I]);给出这个:[“3” “6” “9”]我如何删除括号?

回答

0
更好

你只是把你的对象到服务器要做到这一点,你应该把你的名单在另一个对象(我使用一个内部类),还记得使用RequestBody代替RequestParam

在服务器端

... 
@RequestMapping(value = "/searchChair", method = RequestMethod.POST,consumes = MediaType.APPLICATION_JSON_VALUE) 
     public @ResponseBody 
     List<Chair> findChair(@RequestBody Reserv reserv) { 
      List<String> chairNumber = reserv.getChairNumebers(); 
      int busId = reserv.getBusId(); 
      System.out.println("ChairNUMBER!!!!!!!!!" + chairNumber); 
      List<Chair> chair = chairService.chairsFind(chairNumber, busId); 
      System.out.println("HERE" + chair); 
      return chair; 
     } 
    ... 
     private class Reserv{ 
      int busId; 
      List<String> chairNumber; 
      //getter setters 
     } 

在客户端,你应该把你的数组中的一个新的json对象

function chooseChair() { 
      var chairNum = []; 
      $('.check:checked').each(function() { 
       chairNum.push($(this).val()); 
      }) 
      var busId = $('.checkId').val(); 
      var reserv = { 
          chairNumber: chairNum, 
          busId : busId 
         } 
      alert(chairNum); 
      alert(busId); 
      $.ajax({ 
       type : "POST", 
       url : "http://localhost:8080/spr-data/searchChair", 
       data : reserv 
      }).done(function(data) { 
       alert(JSON.stringify(data)); 
      }) 
     } 
+0

这是行不通的描述是:描述服务器拒绝,因为请求该请求实体的格式不被所请求方法的请求资源支持。 – Nazila