Jackson is a popular Java library for processing JSON. It is used to parse JSON data, as well as to generate JSON from Java objects.
Jackson provides a set of classes for data binding, which allow you to convert JSON to and from Java objects. It also provides classes for streaming JSON, for example for parsing large amounts of data or for generating JSON data on the fly.
Jackson has a number of features, including support for multiple data formats (such as JSON, XML, and CSV), automatic serialization and deserialization of objects, and the ability to customize the parsing and generation process. It is widely used in Java-based applications for working with JSON data.
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.14.1</version>
</dependency>
This Articles Contents
JSON To Java Object
import com.fasterxml.jackson.databind.ObjectMapper;
public class JacksonExample {
public static void main(String[] args) throws IOException {
String json = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";
ObjectMapper mapper = new ObjectMapper();
Person person = mapper.readValue(json, Person.class);
System.out.println(person.name); // Outputs "John"
System.out.println(person.age); // Outputs 30
System.out.println(person.city); // Outputs "New York"
}
}
class Person {
String name;
int age;
String city;
}
Java Object to Json
To generate a JSON string from a Java object, you can use the writeValueAsString
method of the ObjectMapper
class:
import com.fasterxml.jackson.databind.ObjectMapper;
public class JacksonExample {
public static void main(String[] args) throws IOException {
Person person = new Person("John", 30, "New York");
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(person);
System.out.println(json); // Outputs "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}"
}
}
class Person {
String name;
int age;
String city;
public Person(String name, int age, String city) {
this.name = name;
this.age = age;
this.city = city;
}
}