我正在尝试通过 jQuery AJAX 将对象数组发送到 Spring Controller 。 这是 JavaScript 代码:
var data = new Array();
$.each(products, function (i) {
var temp = {};
temp.orpid = products[i].orpid;
temp.orpah = $('#orpah' + products[i].orpid).is(':checked');
temp.orpad = $('#orpad' + products[i].orpid).val();
data.push(temp);
});
$.postJSON(url + 'save',
data,
function(response) {
if (response.isAuthenticated && response.isAuthorized) {
if (response.hasErrors) {
$('#routeForm').setErrors(response.errors);
hideWait();
}
}
else
redirectToLogin();
});
发送到服务器的参数:
[{"orpid":10,"orpah":false,"orpad":""},{"orpid":11,"orpah":false,"orpad":""}]
问题是服务器响应 500 错误:
Can not deserialize instance of XXX out of START_ARRAY token
其中 xxx 是我的自定义表单类的名称。
有人可以帮我解释一下问题出在哪里吗? 谢谢
最佳答案
这里是my solution 。您唯一需要做的就是在服务器端创建单独的对象。
关于java - 无法从 START_ARRAY token 中反序列化 CUSTOM_CLASS 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7674361/