Deserialization of java objects from JSON

This post explains de-serialization of java objects to JSON using new Java JSONB api. We need the following jars to run the below example
1) javax.json-1.1.jar
2) jsonb-api-1.0.0.jar
3) yasson-1.0.jar

yasson-1.0.jar is reference implemenation which can be obtained from the below link
http://json-b.net/download.html

In this example we will de-serialize the Person object, below is the class details of Person class

Person


public class Person {
    private String fName;
    private String lName;
    private int age;
    
    public String getfName() {
        return fName;
    }
    public void setfName(String fName) {
        this.fName = fName;
    }
    public String getlName() {
        return lName;
    }
    public void setlName(String lName) {
        this.lName = lName;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(fName).append(":");
        sb.append(lName).append(":");
        sb.append(age);
        
        return sb.toString();
    }
}

Below is the main code


1  import javax.json.bind.Jsonb;
2  import javax.json.bind.JsonbBuilder;
3  
4  public class JsonbDemo3 {
5   public static void main(String[] args) {
6       Jsonb jsonb = JsonbBuilder.create();
7       String input = "{\"age\":10,\"fName\":\"fName1\",\"lName\":\"lName1\"}";
8       Person person = jsonb.fromJson(input, Person.class);
9       System.out.println(person);
10  }
11 }

At line 6 we create an instance of Jsonb using the JsonbBuilder’s staic method create

At line 8 we convert the json string in the input variable to java object using the fromJson method available in the Jsonb class.

The fromJson method requires two parameters
1) the json string
2) the class details

Output

fName1:lName1:10

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s