I am having an JSON Response and what I need is to Map the corresponding JSON String to the particular Response class.Is there any tools or framework to do the same.
Response class is:
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "0")
@XmlAccessorType(XmlAccessType.FIELD)
public class Student {
@XmlElement(name="0")
private String firstName;
@XmlElement(name="1")
private String lastName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
Json Response String is {"0":{"0":"Rockey","1":"John"}}
I am using Apache CXF Framework with Jettison as the JSON Provider also uses JAXB to wire the data to low bandwidth clients.
Please make a note that I want to convert the number representations to corresponding fields.
Note: I'm the EclipseLink JAXB (MOXy) lead and a member of the JAXB (JSR-222) expert group.
Below is how you an support your use case with your
Student
class as annotated with EclipseLink JAXB (MOXy).Demo
Output
jaxb.properties
To use MOXy as your JAXB provider you need to include a file called
jaxb.properties
in the same package as your domain model with the following entry:MOXy and JAX-RS
For JAX-RS applications you can leverage the
MOXyJsonProvider
class to enable JSON-binding (see: http://blog.bdoughan.com/2011/05/specifying-eclipselink-moxy-as-your.html).