0
我有一个表单,复选框,表单提交。 如果选中了一个,它会以字符串的形式出现,如果多个选中,它会以json数组的形式出现。杰克逊表格提交复选框
如何将对象作为数组获取?
TypeReference<HashMap> typeRef = new TypeReference<HashMap>(){};
JsonFactory factory = new JsonFactory();
ObjectMapper mapper = new ObjectMapper(factory);
HashMap<String, Object> bean = mapper.readValue(formBean, typeRef);
bean.get("somevarible")
<我想这是数组无论多少盒检查
感谢
编辑
我使用这个功能,我该怎么更新?
$.fn.serializeObject = function() {
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name]) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
然后你需要确保JSON总是作为一个数组到达。这是您的JSON生成问题,而不是您的JSON解析。 – skaffman 2011-03-09 17:15:27
当我做bean.get,我该如何将它分配给一个数组? – john 2011-03-09 17:19:33
此外,该TypeReference是不必要的或错误的:您没有定义键和值类型。所以你应该做“TypeReference>”。虽然这不是导致具体问题的原因。 –
StaxMan
2011-03-09 19:15:46