簡體   English   中英

將從ui發送的字符串解析為Java中的數組

[英]parsing string sent from ui into array in java

我有一個來自ui的數組,但是我已經使用JSON.strignify()發送它了,有沒有辦法將其解析為字符串?

我的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));
        })
    }

我的控制器:

@RequestMapping(value = "/searchChair", method = RequestMethod.POST)
public @ResponseBody
List<Chair> findChair(@RequestParam String chairNumber,
        @RequestParam Integer busId) {
    String[] chairNum = chairNumber.split(",");
    for (int i = 0; i < chairNum.length; i++) {
        System.out.println(chairNum[i]);
    }
    System.out.println("ChairNUMBER!!!!!!!!!" + chairNumber);
    return null;
}

和System.out.println(chairNum [i]); 給出了這樣的內容:[“ 3”“ 6”“ 9”]我如何卸下括號?

更好的方法是將對象發送到服務器中執行此操作,應將列表放在另一個對象中(我使用一個內部類),還請記住使用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));
            })
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM