无法从START_ARRAY标记中反序列化CUSTOM_CLASS的实例

时间:2011-10-06 12:40:49

标签: java jquery ajax spring-mvc

我试图通过jQuery AJAX将对象数组发送到Spring控制器。 这是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是我的自定义表单类的名称。

有人可以解释一下我的问题在哪里? 谢谢

1 个答案:

答案 0 :(得分:0)

这是my solution。您唯一需要做的就是在服务器端创建单独的对象。