Jackson

Проработать

  1. Jackson примеры

Что это

Библиотека для работы с JSON

Основные разделы

Быстрый старт:

pom.xml

    <properties>
        <jackson.version>2.13.1</jackson.version>
    </properties>
        
    <dependencies>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>${jackson.version}</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>${jackson.version}</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>${jackson.version}</version>
        </dependency>
    </dependencies>
    

User.java

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;

import java.util.List;

public class User {

    @JsonProperty("id_number")
    private long id;

    @JsonProperty("first_name")
    private String name;

    @JsonProperty("phone_numbers")
    private List<String> phones;

    @JsonIgnore
    private String level;

    public User() {
    }

    public User(long id, String name, List<String> phones, String level) {
        this.id = id;
        this.name = name;
        this.phones = phones;
        this.level = level;
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public List<String> getPhones() {
        return phones;
    }

    public void setPhone(List<String> phones) {
        this.phones = phones;
    }

    public String getLevel() {
        return level;
    }

    public void setLevel(String level) {
        this.level = level;
    }

    @Override
    public String toString() {
        return "User[ID:" + id + ", Name: " + name + ", Phone: " + phones + "]";
    }
}
    

Main.java

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) throws JsonProcessingException {
        List<String> listOfNumbers = new ArrayList<>();
        listOfNumbers.add("123");
        listOfNumbers.add("234");
        User userForSerialization = new User(1, "a", listOfNumbers, "c");

        //serialization
        ObjectMapper mapper = new ObjectMapper();
        String jsonOfObject = mapper.writeValueAsString(userForSerialization);

        //deserialization
        User userGotFromDeserialization = mapper.readValue(jsonOfObject, User.class);
    }
}