Jackson
Convert Java Map To / From JSON using Jackson example
With this example we are going to see how to convert a java.util.Map Object to /from JSON representation using the Jackson parser. Converting Map to / from JSON comes naturally because they have a pretty similar representation and usage. Take a look at the precious Jackson tutorial where we showed how to convert a user defined Java Object to / from JSON.
1. Convert Map Object to JSON represenation
MapToJSONExample.java:
package com.javacodegeeks.java.core;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
public class MapToJSONExample {
private static final String jsonFilePath = "C:\\Users\\nikos7\\Desktop\\filesForExamples\\mapExample.json";
public static void main(String[] args) {
ObjectMapper objectMapper = new ObjectMapper();
Map<String, Object> mapObject = new HashMap<String, Object>();
mapObject.put("domain", "JavaCodeGeeks.com");
mapObject.put("interest", "Java");
mapObject.put("Members", 400);
List<Object> myList = new ArrayList<Object>();
myList.add("Jonh");
myList.add("Jack");
myList.add("James");
mapObject.put("names", myList);
try {
objectMapper.writeValue(new File(jsonFilePath), mapObject);
} catch (JsonGenerationException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}mapExample.json:
{"names":["Jonh","Jack","James"],"interest":"Java","domain":"JavaCodeGeeks.com","Members":400}2. Convert JSON to Map Object
JSONToMapExample.java:
package com.javacodegeeks.java.core;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.TypeReference;
public class JSONToMapExample {
private static final String jsonFilePath = "C:\\Users\\nikos7\\Desktop\\filesForExamples\\mapExample.json";
public static void main(String[] args) {
ObjectMapper mapper = new ObjectMapper();
try {
File jsonFile = new File(jsonFilePath);
Map<String, Object> mapObject = mapper.readValue(jsonFile,
new TypeReference<Map<String, Object>>() {
});
System.out.println("domain : " + mapObject.get("domain"));
System.out.println("interest : " + mapObject.get("interest"));
System.out.println("Members : " + mapObject.get("Members"));
System.out.print("Names : ");
List<String> list = (List<String>) mapObject.get("names");
for (String name : list) {
System.out.print(name + " ");
}
} catch (JsonGenerationException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}output:
domain : JavaCodeGeeks.com
interest : Java
Members : 400
Names : Jonh Jack James
This was an example on how to convert Java Map To / From JSON using Jackson.
