0
如何使用杰克逊使用杰克逊
package com.progressivebeef.service.response;
@XmlRootElement(name = "response")
@XmlSeeAlso({ User.class, Profile.class,MenuItem.class,Feedlot.class,Document.class,FeedlotDocument.class })
public final class PBResponse {
private Integer status = FAILURE;
private String code;
private String message;
private Integer totalRecords;
private List<Model> list = new ArrayList<Model>();
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
@XmlElementWrapper(name = "PBBeans")
@XmlAnyElement
public List<Model> getList() {
return list;
}
public void setList(List<Model> list) {
this.list = list;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public Integer getTotalRecords() {
return totalRecords;
}
public void setTotalRecords(Integer totalRecords) {
this.totalRecords = totalRecords;
}
/**
* @author tiqbal
* Resets the response.
*/
public void reset(){
this.status = FAILURE;
this.list = new ArrayList<Model>();
this.code = null;
this.message = null;
this.totalRecords = null;
}
}
杰克逊序列化这个类JAXB注释的Json映射不拾取@XmlElementWrapper @XmlSeeAlso注解,杰克逊也不会映射@XmlRootElement注释。我正在使用杰克逊1.9.0。 Jackson将元素放入列表中,但未映射POJO类的根元素。
这里是示例方法。
package com.progressivebeef.service.impl;
@Service("/ActivityServiceImpl/")
@Path("/activityservice/")
public class ActivityServiceImpl implements ActivityService {
@POST
@Produces(MediaType.APPLICATION_JSON)
@Override
public Response inputJson(User user) {
System.out.println("user ");
user.setUser_name("check user name");
Profile profile = new Profile();
profile.setFirst_name("abc");
profile.setLast_name("khan");
user.setProfile(profile);
PBResponse response = new PBResponse();
response.getList().add(user);
return Response.ok(response).build();
}
}
响应它产生是“{ “响应”:{ “状态”:0 “PBBeans”:[{ “USER_NAME”: “检查用户名”, “口令”: “click123”, “user_role_key”:2, “简档”:{ “first_name的”: “ABC”, “姓氏”: “汗”, “表名”: “pb_profile”, “PK”: “PROFILE_ID”}, “表名”:“pb_user “,”pk“:”user_id“}]}}'
不会在PBBeans标签内拾取bean的根名称。
你如何调用序列化方法?请使用示例数据将您的问题扩展到该代码。 –
其实我在春天使用ApacheCXF,JAX-RS。 –
好的,但向我们展示您的Web服务方法,它是/不工作。 –