Read Json File and Convert to Java Object using Jackson


Post Banner

Let us take a look at how to read a JSON file and convert it into Java Object using Jackson library,

Java POJO: Album.java
import java.util.Arrays;

public class Album {

        private String artistName;
        private String albumName;
        private int releaseYear;
        private String[] songsList;

        public Album() {}

    public Album(String artistName, String albumName, int releaseYear, String[] songsList) {
        this.artistName = artistName;
        this.albumName = albumName;
        this.releaseYear = releaseYear;
        this.songsList = songsList;
    }

    public String getArtistName() {
        return artistName;
    }

    public void setArtistName(String artistName) {
        this.artistName = artistName;
    }

    public String getAlbumName() {
        return albumName;
    }

    public void setAlbumName(String albumName) {
        this.albumName = albumName;
    }

    public int getReleaseYear() {
        return releaseYear;
    }

    public void setReleaseYear(int releaseYear) {
        this.releaseYear = releaseYear;
    }

    public String[] getSongsList() {
        return songsList;
    }

    public void setSongsList(String[] songsList) {
        this.songsList = songsList;
    }

    @Override
    public String toString() {
        return "Album{" +
                "artistName='" + artistName + '\'' +
                ", albumName='" + albumName + '\'' +
                ", releaseYear=" + releaseYear +
                ", songsList=" + Arrays.toString(songsList) +
                '}';
    }
}

JSON file: album.json
{
   "artistName":"Michael Jackson",
   "albumName":"Thriller",
   "releaseYear":1982,
   "songsList":[
      "Wanna Be Startin Somethin",
      "Baby Be Mine",
      "The Girl Is Mine",
      "Thriller",
      "Beat it",
      "Billie Jean",
      "Human Nature",
      "P.Y.T. (Pretty Young Thing)",
      "The Lady in My Life"
   ]
}

JsonFileToJavaObject.java
import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.File;
import java.io.IOException;

public class JsonFileToJavaObject {

    public static void main(String[] args) {

        try {
            String jsonFileName = "album.json";
            File jsonFile = new File(jsonFileName);
            ObjectMapper objectMapper = new ObjectMapper();
            
            //JSON File to Java Object
            Album album = objectMapper.readValue(jsonFile, Album.class);
            
            System.out.println(album.getAlbumName());
            System.out.println(album.getArtistName());
            System.out.println(album.getReleaseYear());
            
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Facing issues? Have Questions? Post them here! I am happy to answer!

Author Info:

Rakesh (He/Him) has over 14+ years of experience in Web and Application development. He is the author of insightful How-To articles for Code2care.

Follow him on: X

You can also reach out to him via e-mail: rakesh@code2care.org



















Copyright © Code2care 2024 | Privacy Policy | About Us | Contact Us | Sitemap