Wednesday 17 April 2013

HashMap to JSON String

Below code uses Jackson Json API to convert a HashMap into a JSON String


package com.blogspot.javasampleprogram;

import java.io.IOException;
import java.io.StringWriter;
import java.io.Writer;
import java.util.HashMap;

import org.codehaus.jackson.JsonFactory;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.map.ObjectMapper;

/**
 * @author http://java-sample-program.blogspot.in/  
 * HashMap to Json String generator
 */
public class JsonStringGenerator {
 

 /**
  * Method to convert map into json format
  * @param map with data to be converted into json
  * @return json string
  */
 public static String createJsonString(HashMap jsonMap) throws IOException {
  System.out.println("Map:"+jsonMap);
  Writer writer = new StringWriter();
  JsonGenerator jsonGenerator = new JsonFactory().
        createJsonGenerator(writer);
  ObjectMapper mapper = new ObjectMapper();
  mapper.writeValue(jsonGenerator, jsonMap);
  jsonGenerator.close();
  System.out.println(writer.toString());
  return writer.toString();
 }
 
 public static void main(String[] args)  throws IOException {
  HashMap<String, String> map = new HashMap<String, String>();
  map.put("1", "Jason Stathom");
  map.put("2", "Brad Pitt");
  map.put("3", "Angelina");
  createJsonString(map);
 }
 
}

Result: {"3":"Angelina","2":"Brad Pitt","1":"Jason Stathom"}

We will have to add following dependency:

<dependency>
  <groupId>org.codehaus.jackson</groupId>
  <artifactId>com.springsource.org.codehaus.jackson.mapper</artifactId>
  <version>1.4.3</version>
</dependency>

No comments:

Post a Comment

/* */