This tutorial demonstrates how to convert a JSON string into a Java Map
using Jackson’s ObjectMapper
. We will show a basic Java main Class to convert a sample JSON String. Then, we will simplify the classpath set up using JBang.
Prerequisites
- Basic understanding of Java programming.
- Jackson library added to your project’s dependencies.
Steps:
1. Include Jackson Dependency
Make sure to include the Jackson dependencies in your project. If you’re using Maven, add the following to your pom.xml
file:
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.16.0</version> <!-- Replace with the latest version --> </dependency>
Create a Java Class
Create a Java class where you’ll perform the conversion from JSON to a Java Map
. Let’s name the class JSONToMap
.
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import java.util.HashMap; import java.util.Map; public class JSONToMap { public static void main(String[] args) { // Sample JSON String String jsonString = "{\"name\":\"John Doe\",\"age\":30,\"city\":\"New York\"}"; // Initialize ObjectMapper ObjectMapper objectMapper = new ObjectMapper(); // Convert JSON to Map try { // Read JSON string and map it to a Java Map Map<String, Object> resultMap = objectMapper.readValue(jsonString, HashMap.class); // Print the generated Map System.out.println("Generated Map: "); for (Map.Entry<String, Object> entry : resultMap.entrySet()) { System.out.println(entry.getKey() + " : " + entry.getValue()); } } catch (JsonProcessingException e) { e.printStackTrace(); } } }
3. Run the Code
Replace the jsonString
variable with your actual JSON content. Execute the code, and it will convert the JSON string into a Java Map
using Jackson’s ObjectMapper
.
Run the example with JBang
Finally, if you want to run the above example as a Java script command, we recommend using JBang. For more info about JBang check this article: JBang: Create Java scripts like a pro
By using JBang, you can skip the project creation and just include the dependency on top of the Java Class:
//usr/bin/env jbang "$0" "$@" ; exit $? //DEPS com.fasterxml.jackson.core:jackson-databind:2.16.0
Then, run it as follows:
Conclusion
In this tutorial, you’ve learned how to utilize Jackson’s ObjectMapper
to convert a JSON string into a Java Map
. This capability is beneficial for parsing JSON data into a format that’s easily manipulable within Java applications.