Java spring ajax调用中的启动外数组令牌
我有一个JSON对象,如下所示:Java spring ajax调用中的启动外数组令牌,java,jquery,json,spring,spring-mvc,Java,Jquery,Json,Spring,Spring Mvc,我有一个JSON对象,如下所示: [ { “usernameid”:[ "2", "7" ], “阶段ID”:[ "2", "7" ], “周开始日期”:“2014-11-02” } ] 我尝试在控制器中的POJO中映射此JSON: public model和view approveTimesheet(@RequestBody approveTimesheet timesheet,HttpSession会话) { logger.info(“是”); } 我的AJAX调用: $.ajax({
[
{
“usernameid”:[
"2",
"7"
],
“阶段ID”:[
"2",
"7"
],
“周开始日期”:“2014-11-02”
}
]
我尝试在控制器中的POJO中映射此JSON:
public model和view approveTimesheet(@RequestBody approveTimesheet timesheet,HttpSession会话)
{
logger.info(“是”);
}
我的AJAX调用:
$.ajax({
键入:“post”,
url:“PendingTimesheet”,
contentType:“应用程序/json;字符集=utf-8”,
数据:JSON.stringify(jsonObj),
成功:功能(数据){
},
});
POJO类:
公共类批准时间表
{
私有字符串[]usernameid;
私有字符串[]phaseid;
私有字符串weekstartdate;
//接球手和接球手
}
我得到下面的例外
out of START_ARRAY token
at [Source: org.apache.catalina.connector.CoyoteInputStream@7097326d; line: 1, column: 1]
如何在Spring controller中正确映射上述JSON请求?
如果您有任何想法,我们将不胜感激。您发送的是一个JSON对象数组,而不是单个对象 然后,控制器签名应在
@RequestBody
注释前面保存ApproveTimesheet
的集合
或数组
。(我建议使用数组以避免泛型类型不匹配):
公共模型和查看批准的时间表(
@请求主体批准的时间表[]时间表,
HttpSession(会话)
{
for(int i=0;i
public ModelAndView approveTimesheet(
@RequestBody ApproveTimesheet[] timesheets,
HttpSession session)
{
for(int i = 0; i < timesheets.length; i++)
{
logger.info(timesheets[i]);
}
//...
}