我有一个gson生成的POST应用程序/ json请求,可以使用:
{"Process Name": "Urlaubsantrag", "Action Performed EmailId": "somebody@somewhere.de", "Process Step": "Start"}
我想用jersey将json数据映射到我的bean。像
@POST
@Path("/post")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public String createVacation(Vacation aVacation)
{
//DO something
}
班级度假代表我的模特
public class Vacation {
String processName;
String actionPerformedEmailID;
String processStep;
String actionName;
etc...
问题是,json代码中的所有字段名称都包含空格。我在模型中找到正确的字段名称时遇到问题,因此处理名称"将映射到processName。
我该怎么做?或者还有其他方法来处理它吗?
答案 0 :(得分:1)
回答这个问题可能已经太晚了,但是今天我遇到了同样的问题(除了它是下划线而不是字段名称中的空格)。我使用XML绑定注释修复了这个问题。
因此,我们需要以这种方式注释Vacation类及其字段
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Vacation {
@XmlElement(name = "Process Name")
String name;
@XmlElement(name = "Action Performed EmailId")
String actionPerformedEmailID;
@XmlElement(name = "Process Step")
String processStep;
String actionName;
等
如果JSON字段和POJO字段的名称相等,则可以省略@XmlElement注释。