Sunday, February 16, 2014

Convert java.util.HashMap into Json using Jackson API

JSON: json is a java script object notation which used as a open standard format to transmit or communicate between server and client or web application. More Info

Jackson API: It is an open source streaming API to convert java collection into the json format and back forth.

Get JacksonAPI from : http://wiki.fasterxml.com/JacksonDownload

Example to convert hashmap into json:

import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.HashMap;
import java.util.Map;
 

public class ConvertToJson {
             public static void main(String[] args) {
                 try {
                        ObjectMapper mapper = new ObjectMapper();
                    String json = "";
    
                    Map<String, HashMap> map = new HashMap<String, HashMap>();
                      HashMap<String,String> hm = new  HashMap<String,String>();
                    hm.put("fname", "Anshul");
                    hm.put("lname", "Mittal");
                    map.put("map", hm);
    
                    //convert map to JSON string
                    json = mapper.writeValueAsString(map);
    
                    System.out.println(json);
    
            } catch (Exception e) {
                    e.printStackTrace();
            }
    
        }
    }


Example to convert json into HashMap:

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;

import java.util.HashMap;
import java.util.Map;


public class ConvertToHashMap {
    public static void main(String[] args) {               
            String j = "{\"map\":{\"lname\":\"Mittal\",\"fname\":\"Anshul\"}}";
            JsonParser jp;
            JavaType jt;          
                          
            HashMap<String,String> map = new HashMap<String,String>();
            ObjectMapper mapper = new ObjectMapper();
           try {
                  //convert JSON string to Map
                map = mapper.readValue(j,HashMap.class);
               System.out.println(map);    
            } catch (Exception e) {
                    e.printStackTrace();
            }    
        }
}


Note : Similarly do for other collections.

No comments:

Post a Comment