My code actually contains one resource class and one BEan class it's return type is JSON.
@Path("/json")
public class JSONRetrive {
@GET
@Produces(MediaType.APPLICATION_JSON)
public JSONT getJson(){
JSONT jsont = new JSONT();
jsont.setJsont("inr");
return jsont;
}
}
/* Is there any Annotation will represent JSON. Do i need to use any other Annotation for this.*/
//@XmlRootElement
public class JSONT {
private String jsont;
public String getJsont() {
return jsont;
}
public void setJsont(String jsont) {
this.jsont = jsont;
}
}
If i uncomment @XmlRootElement it is working fine is there any other alternative solution for this
I got alternative solution for this @XmlRootElement
, if we wanted to generate JSON response with out using @XmlRootElement
we should go for Jersey Jackson library. Add the below given code in web.xml
(DD file)
<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>
and Jackson API related jar's.
If you are using Jersey and Maven , then just go to your pom.xml and uncomment/add below code depending on your case
<!-- uncomment this to get JSON support
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-binding</artifactId>
</dependency>
-->
After this, you can use @Produces(MediaType.APPLICATION_JSON)
and you will get JSON response.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With