Java spring ajax调用中的启动外数组令牌

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({

我有一个JSON对象,如下所示:

[
{
“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]);
  }
  //...
}