In this quick article, I will show how to convert a JSON string to Java Map using the Jackson library.
In Jackson, we can use a mapper.readValue(json, Map.class) to convert a JSON string to a Map
Check out complete Jackson tutorial at Java Jackson JSON Tutorial with Examples.
We are using Jackson library to convert JSON string to Map so let's add below Jackson dependency to your project's classpath or pom.xml.
Maven pom dependency
Let’s first add the following dependencies to the pom.xml:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.8</version>
</dependency>
This dependency will also transitively add the following libraries to the classpath:
- jackson-annotations-2.9.8.jar
- jackson-core-2.9.8.jar
- jackson-databind-2.9.8.jar
Always use the latest versions on the Maven central repository for Jackson databind.
Example - Convert JSON string to Map
The following example demonstrates how to convert the JSON string to Map:
JacksonJsonToMap.java
package net.javaguides.jackson;
import java.io.IOException;
import java.util.Map;
import java.util.Map.Entry;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
public class JacksonJsonToMap {
public static void main(String[] args) throws IOException {
ObjectMapper mapper = new ObjectMapper();
mapper.enable(SerializationFeature.INDENT_OUTPUT);
String json = "{" +
" \"THU\" : 5," +
" \"TUE\" : 3," +
" \"WED\" : 4," +
" \"SAT\" : 7," +
" \"FRI\" : 6," +
" \"MON\" : 2," +
" \"SUN\" : 1" +
"}";
@SuppressWarnings("unchecked")
Map < String, Integer > days = mapper.readValue(json, Map.class);
for (Entry < String, Integer > day: days.entrySet()) {
System.out.println(day.getKey() + "=" + day.getValue());
}
}
}
Output:
THU=5
TUE=3
WED=4
SAT=7
FRI=6
MON=2
SUN=1
Convert Map to JSON string
Check out complete Jackson tutorial at Java Jackson JSON Tutorial with Examples.
Comments
Post a Comment
Leave Comment