从Jersey Web服务中的JSONObject获取数据时无法识别的属性
问题描述:
我需要将某个JSON字符串转换为Java对象。我使用Jackson进行JSON处理。 这里是我的Java类 -从Jersey Web服务中的JSONObject获取数据时无法识别的属性
公共类RequestClass {
String email_id;
String password;
public String getEmailId() {
return email_id;
}
public String getPassword() {
return password;
}
@Override
public String toString(){
return email_id+" "+password;
}
} 这里是Web服务代码
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@Path("/dbconnect3")
public String connectToDbTest3(RequestClass rc) {
System.out.println("connectToDbTest3");
String email_id = rc.getEmailId();
String password = rc.getPassword();
System.out.println(email_id+" "+password);
}
这引发异常UnrecognizedPropertyException与消息“无法识别的字段“email_id”(Class jaxrs.RequestClass),未标记为可忽略“。
如果我不是我的Java类使用注释@JsonIgnoreProperties(ignoreUnknown =真),我在线09获得输出 -
空MYPASSWORD
所以我不想忽略无法识别的字段,而是我想获得email_id的值。
请说出为什么它显示email_id为无法识别的字段,而密码获取成功。
在此先感谢
答
像下面
@JsonProperty("email_id")
public String getEmailId() {
return email_id;
}
应该@JsonProperty给出的getEmailId()
前只需添加
JsonProperty("email_id")
( “EMAIL_ID”)回答更新 – Kris 2013-03-02 05:54:46