Platinum Partner
java,enterprise-integration,xml,json,tips and tricks

Converting Java Objects to Byte Array, JSON and XML

Converting a Java object (a process known as serialization) to various forms such as XML, JSON, or a byte array and back into java objects is a very common requirement. This post is intended to be a quick reference for you to easily make these conversions.

Java Object to Byte Array and Back

Lets start by converting a java object into a byte array and back. The library we will be using to achieve this result is the commons lang library which you can get using the following maven dependency.

<dependency>
	<groupId>commons-lang</groupId>
	<artifactId>commons-lang</artifactId>
	<version>2.6</version>
</dependency>

The following two functions convert a java object to a byte array and back to java object respectively. You will need the following import:

import org.apache.commons.lang.SerializationUtils;


/**
* Convert object to byte array
* @param object
* @return
*/
public static byte[] fromJavaToByteArray(Serializable object) {
	return SerializationUtils.serialize(object);
}

/**
* Convert byte array to object
* @param bytes
* @return
*/
public static Object fromByteArrayToJava(byte[] bytes) {
	return SerializationUtils.deserialize(bytes);
}

Java Object to JSON and Back

Next, we will convert a java object to JSON and back to java. We will use the Jackson library for this. Use the following maven dependency.

<dependency>
	<groupId>org.codehaus.jackson</groupId>
	<artifactId>jackson-mapper-asl</artifactId>
	<version>1.9.12</version>
</dependency>

The functions that perform the conversions.

/**
* Convert object to JSON String 
* @param object
* @return
* @throws JsonGenerationException
* @throws JsonMappingException
* @throws IOException
*/
public static String fromJavaToJson(Serializable object)
	throws JsonGenerationException, JsonMappingException, IOException {
    ObjectMapper jsonMapper = new ObjectMapper();
    return jsonMapper.writeValueAsString(object);
}

/**
* Convert a JSON string to an object
* @param json
* @return
* @throws JsonParseException
* @throws JsonMappingException
* @throws IOException
*/
public static Object fromJsonToJava(String json, Class type) throws JsonParseException,
		JsonMappingException, IOException {
     ObjectMapper jsonMapper = new ObjectMapper();
     return jsonMapper.readValue(json, type);
}

Java Object to XML and Back

We will use Xstream from thoughtworks to serialize to XML. Include the following maven dependency.

<dependency>
	<groupId>com.thoughtworks.xstream</groupId>
	<artifactId>xstream</artifactId>
	<version>1.4.4</version>
</dependency>

And the one-liners to perform the conversions.

/**
* Convert a java object to XML
* @param object
* @return
*/
public static String fromJavaToXML(Serializable object) {
	XStream xs = new XStream();
	return xs.toXML(object);
}
	
/**
* Convert from XML to object
* @param xml
* @return
*/
public static Object fromXMLToJava(String xml){
	XStream xs = new XStream();
	return xs.fromXML(xml);
}





Published at DZone with permission of {{ articles[0].authors[0].realName }}, DZone MVB. (source)

Opinions expressed by DZone contributors are their own.

{{ tag }}, {{tag}},

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}
{{ parent.authors[0].realName || parent.author}}

{{ parent.authors[0].tagline || parent.tagline }}

{{ parent.views }} ViewsClicks
Tweet

{{parent.nComments}}