![](/img/trans.png)
[英]JavaScript JSON object with square brackets and spaces in name
[英]Javascript object with square brackets in the name
我正在尝试构建一个 javascript 对象来提交表单。 一个属性必须是一组 id,见下文:
var customPostData = {
lecturer:$("#modulesessform").serializeArray()[0].value,
topic:$("#topic").val(),
sessionType:$("#sessionType").val(),
sessionDate:$("#sessionDate").val(),
startTime:$("#startTime").val(),
endTime:$("#endTime").val(),
sessionStatus:$("#sessstatus").val(),
attendedstudents:studentsattended.toSource()
};
这是帖子数据中的样子。
attendedstudents ["7348", "6472", "7392", "7235", "7399", "6943"]
endTime 8:30 PM
lecturer 5582
sessionDate Tuesday, October 02, 2012
sessionStatus Completed
sessionType 1
startTime 5:30 PM
topic bla
问题是最后一个字段。 我希望能够说attendedstudents[]:studentsattended.toSource
。 你看我正在使用 spring MVC,为了告诉它这个参数是某种集合,我需要[ ]
作为名称-值对的一部分。 这是一个小片段:
public @ResponseBody String ajaxcreate( @PathVariable("si") Long si,
@RequestParam("sessionDate") @org.springframework.format.annotation.DateTimeFormat(pattern = "EEEE, MMMM dd, yyyy") java.util.Calendar sessionDate,
@RequestParam("startTime") @org.springframework.format.annotation.DateTimeFormat(pattern = "hh:mm a") java.util.Calendar startTime,
@RequestParam("endTime") @org.springframework.format.annotation.DateTimeFormat(pattern = "hh:mm a") java.util.Calendar endTime,
@RequestParam("attendedstudents[]") ArrayList<Long> attendedstudents,
Model uiModel, HttpServletRequest httpServletRequest) {//bla bla bla}
查看最后一个@RequestParam
。 我在 spring 没有方括号的情况下尝试过,但这会引发错误。 我还尝试使用字符串数组并将字符串解析为长字符串,请参见下文。
@RequestParam("attendedstudents") String[] attendedstudents
这产生了这个异常。 显然,它试图将方括号解析为字符串的一部分。
对于输入字符串:"["7348"" java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) java.lang.Long.parseLong(Long.java:410) java.lang.Long.valueOf(Long.java:第525章)
方括号在键名中有效,您只需要将它们用作字符串文字的一部分。
customPostData["attendedstudents[]"]=studentsattended.toSource();
将其括在引号中
'attendedstudents[]' :
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.