[英]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.