我的代码实际上包含一个资源类和一个BEan类,其返回类型为JSON。
资源类别
@Path("/json")
public class JSONRetrive {
@GET
@Produces(MediaType.APPLICATION_JSON)
public JSONT getJson(){
JSONT jsont = new JSONT();
jsont.setJsont("inr");
return jsont;
}
}
/*是否有任何注释将表示JSON。我是否需要为此使用任何其他注释。*/我的 bean 类
//@XmlRootElement
public class JSONT {
private String jsont;
public String getJsont() {
return jsont;
}
public void setJsont(String jsont) {
this.jsont = jsont;
}
}
如果我取消注释@XmlRootElement,它工作正常,是否还有其他替代解决方案 最佳答案
我为此@XmlRootElement
找到了替代解决方案,如果我们想在不使用@XmlRootElement
的情况下生成JSON响应,则应该使用Jersey Jackson库。将以下给定的代码添加到web.xml
(DD文件)中
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
和 jackson API相关的 jar 。
关于web-services - 在Jersey网络服务中,是否也必须使用@XmlRootElement进行JSON响应?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15547302/