[英]Converting Java Map object to Json array
My Spring MVC Controller is returning LinkedHashMap. 我的Spring MVC Controller返回LinkedHashMap。 I want to convert to Json Array in order to pass in AJAX.
我想转换为Json Array以便传递AJAX。 Also Suggest me the return type of getTime method
还建议我getTime方法的返回类型
Controller code: 控制器代码:
@RequestMapping("/activeSlots")
@ResponseBody
public String getTime(@RequestParam("date") String date){
AvailableTimeSlot ts = new AvailableTimeSlot();
List<String> bookedTime = ts.getInfo(date);
LinkedHashMap<String,String> availTimeSlots = ts.availTime(bookedTime);
Gson gson = new Gson();
String json = gson.toJson(availTimeSlots);
return json;
}`
Ajax Call Code Ajax呼叫代码
$( "#idDateField" ).change(function() {
var dateval = $( "#idDateField" ).val();
var sendData = {dateval: dateval}
$.ajax({
//url :"/activeSlots?date="+dateval ,
url :"activeSlots?date=" + dateval ,
// method : GET,
// contentType: 'application/json',
success: function (data) {
alert("coming..")
alert(obj.length);
$("#nameid").val(data);
$("#idTimefield").val(data);
},
error:function(data) {
alert("error:"+data.val);
}
});
});`
Got my working; 我工作了 Here is the Solution Java Controller code:
这是解决方案Java控制器代码:
@RequestMapping("/activeSlots")
@ResponseBody
public String getTime(@RequestParam("date") String date){
AvailableTimeSlot ts = new AvailableTimeSlot();
List<String> bookedTime = ts.getInfo(date);
LinkedHashMap<String,String> availTimeSlots = ts.availTime(bookedTime);
Gson gson = new GsonBuilder().create();
String json = gson.toJson(availTimeSlots);
return json;
}
Ajax Call on JSP Ajax调用JSP
$( "#idDateField" ).change(function() {
var dateval = $( "#idDateField" ).val();
var sendData = {dateval: dateval}
$.ajax({
url :"activeSlots?date=" + dateval ,
success: function (data) {
alert(data);
$('#idTimefield').empty();
var times=JSON.parse(data);
var values= Object.values(times);
var keys = Object.keys(times);
for(i=0 ; i<values.length;i++){
$('#idTimefield').append('<option value="' + keys[i] + '">' + values[i] + '</option>');
}
},
error:function(data) {
alert("error:"+data.val);
}
});
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.