This example will show how to convert a java object to json using GSON and jackson . JSON is an open standard format that uses human-readable text to transmit data objects consisting of attribute–value pairs. In the set up we will initialize a list of Planes that each snippet will use to serialize to json.
Deserializing json to a java object will allow you to convert back to json if needed.
Setup class Plane {
private String planeType ;
public Plane ( String planeType ) {
super ();
this . planeType = planeType ;
}
public String getPlaneType () {
return planeType ;
}
@Override
public String toString () {
return Objects . toStringHelper ( this ). add ( "plane type: " , planeType ). toString ();
}
}
private List < Plane > planes = Lists . newArrayList ();
private Plane seaPlane ;
@Before
public void seedData () {
planes . add ( new Plane ( "Commercial Transport Planes" ));
planes . add ( new Plane ( "General Aviation Planes" ));
planes . add ( new Plane ( "Military Planes" ));
planes . add ( new Plane ( "Sea Planes" ));
planes . add ( new Plane ( "Special Purpose Planes" ));
seaPlane = new Plane ( "Sea Planes" );
}
GSON Using gson, this snippet will convert a java object to json.
Object @Test
public void marshall_java_object_to_json_with_gson () {
Gson gson = new Gson ();
String json = gson . toJson ( seaPlane );
logger . info ( json );
assertEquals ( JSON_OBJECT , json );
}
Output
{
"planeType" : "Sea Planes"
}
List This snippet will convert java list to json array using GSON.
@Test
public void marshall_java_list_to_json_with_gson () {
Gson gson = new Gson ();
String json = gson . toJson ( planes );
logger . info ( json );
assertEquals ( JSON_ARRAY , json );
}
Output
[
{
"planeType" : "Commercial Transport Planes"
},
{
"planeType" : "General Aviation Planes"
},
{
"planeType" : "Military Planes"
},
{
"planeType" : "Sea Planes"
},
{
"planeType" : "Special Purpose Planes"
}
]
Jackson This snippet will convert an object to json using jackson by calling ObjectMapper.writeValueAsString which will serialize the java object as a JSON string.
Object @Test
public void marshall_java_object_to_json_with_jackson () throws JsonProcessingException {
ObjectMapper objectMapper = new ObjectMapper ();
String json = objectMapper . writeValueAsString ( seaPlane );
logger . info ( json );
assertEquals ( JSON_OBJECT , json );
}
Output
{
"planeType" : "Sea Planes"
}
List This snippet will convert an ArrayList to JSON using Jackson.
@Test
public void marshall_java_list_to_json_with_jackson () throws JsonProcessingException {
ObjectMapper objectMapper = new ObjectMapper ();
String json = objectMapper . writeValueAsString ( planes );
logger . info ( json );
assertEquals ( JSON_ARRAY , json );
}
Output
[
{
"planeType" : "Commercial Transport Planes"
},
{
"planeType" : "General Aviation Planes"
},
{
"planeType" : "Military Planes"
},
{
"planeType" : "Sea Planes"
},
{
"planeType" : "Special Purpose Planes"
}
]
Java object to json posted by Justin Musgrove on 03 September 2013
Tagged: java and java-json
Share on: Facebook Google+
All the code on this page is available on github:
JavaObjectToJson.java