Convert JSON String To Java Object, Jettison Example

On this Jettison Example explains about converting a JSON string to java object Using Jettison JSON library
Jettison is a collection of Java APIs (like STaX and DOM) which read and write JSON. This allows nearly transparent enablement of JSON based web services in services frameworks like CXF or XML serialization frameworks like XStream
Reference -> jettison.codehaus.org/
Here I am showing an example about How to convert a JSON string into Java Object using Jettison library.
Required Libraries
Project structure
Student.java
Here I am creating a pojo class, this will be the converted in to JSON string.
package net.javatips;
public class Student {
private String firstName="Rockey";
private String lastName="Desousa";
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;
}
@Override
public String toString() {
return "Student [firstName=" + firstName + ", lastName=" + lastName + "]";
}
}
public class Student {
private String firstName="Rockey";
private String lastName="Desousa";
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;
}
@Override
public String toString() {
return "Student [firstName=" + firstName + ", lastName=" + lastName + "]";
}
}
Jettison Example (Convert JSON string to Student Object)
For converting JSON string into Java Student Object using Jettison library, you can use following method
Unmarshaller unmarshaller = jc.createUnmarshaller(); Student student = (Student) unmarshaller.unmarshal(xmlStreamReader);
package net.javatips;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;
import org.codehaus.jettison.mapped.Configuration;
import org.codehaus.jettison.mapped.MappedNamespaceConvention;
import org.codehaus.jettison.mapped.MappedXMLStreamReader;
public class Main {
public static void main(String[] args) throws JAXBException, JSONException, XMLStreamException {
JAXBContext jc = JAXBContext.newInstance(Student.class);
JSONObject obj = new JSONObject("{\"student\":{\"firstname\":\"Rockey\",\"lastname\":\"Desousa\"}}");
Configuration config = new Configuration();
MappedNamespaceConvention con = new MappedNamespaceConvention(config);
XMLStreamReader xmlStreamReader = new MappedXMLStreamReader(obj, con);
Unmarshaller unmarshaller = jc.createUnmarshaller();
Student student = (Student) unmarshaller.unmarshal(xmlStreamReader);
System.out.println("Student " + student);
}
}
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;
import org.codehaus.jettison.mapped.Configuration;
import org.codehaus.jettison.mapped.MappedNamespaceConvention;
import org.codehaus.jettison.mapped.MappedXMLStreamReader;
public class Main {
public static void main(String[] args) throws JAXBException, JSONException, XMLStreamException {
JAXBContext jc = JAXBContext.newInstance(Student.class);
JSONObject obj = new JSONObject("{\"student\":{\"firstname\":\"Rockey\",\"lastname\":\"Desousa\"}}");
Configuration config = new Configuration();
MappedNamespaceConvention con = new MappedNamespaceConvention(config);
XMLStreamReader xmlStreamReader = new MappedXMLStreamReader(obj, con);
Unmarshaller unmarshaller = jc.createUnmarshaller();
Student student = (Student) unmarshaller.unmarshal(xmlStreamReader);
System.out.println("Student " + student);
}
}
Output
Student Student [firstName=Rockey, lastName=Desousa]