我有一个对话框,其中包含生成的字段列表,其名称包含数据所属用户的主ID。我正在使用这些字段中的数据创建一个JSON对象,并将其发布到Spring Controller。由于JSON没有可以与自定义对象中的任何特定属性匹配的键,因此我应该将其转换为什么类型的对象,以便最容易地遍历服务器端的对象?由于它是当前编码的,我试图允许Spring解析对象。是否有更好的设计模式可以采用更清洁的方法?
这是我的json:
({'1234567890_testID':"432342342", '0987654321_testID':"345353453"})
将为具有构成键_testID前缀的id的用户保存每条记录的值。还有其他类型的键,例如:1203048829_otherTestID。
这是我的代码:
使用Javascript:
var $testID = $('#testDIV input');
var testData = {};
$testID.each(function(i, el) {
testData[$(el).attr("id")] = $(el).val();
});
var params= $.extend({ "tableID" : "testTable" }, {"testData" : testData.toSource()});
$.ajax({ "dataType": "json",
"type": "put",
"url": this.url,
"data": params,
"success": function(alert("Success!"))
})
控制器方法签名:
@RequestMapping(value="/test", method=RequestMethod.PUT)
public @ResponseBody String updateTest(@ModelAttribute final TestCriteria tc)
ModelAttribute bean:
public class TestCriteria {
private Map<String, Object> testData;
getters and setters...
}
Firebug参数:
action PUT testData ({'100540718367_testID':"432342342", '100540718371_testID':"252535345"}) tableID testTable
答案 0 :(得分:0)
这看起来像Map<String,Long>