我有一个类,它有一个Map作为变量之一。 杰克逊解析器无法映射到此。
示例 -
Class A
{
private String abc;
private Map<String, String> xyz;
...
}
在控制器中我有
@RequestMapping(value = "/myval", method = RequestMethod.POST, consumes =
{ MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE })
@ResponseBody
public DGF updateCall(@RequestBody final A varName)
{
....
}
Json
{
"abc":"tyui",
"xyz":[{
"key" : "rtyu",
"value" : "yui"
}]
...
}
调试时将xyz设为null。
答案 0 :(得分:1)
你需要为A类设置一个非参数构造函数,以便让Jackson反序列化工作:
public A (){
abc="";
xyz = new HashMap<String, String>();
}