Step 1: Construct JsonObjectBuilder from an object properties.
JsonObjectBuilder objectBuilder = Json.createObjectBuilder()
.add("firstName", emp.getFirstName())
.add("lastName", emp.getLastName())
.add("id", emp.getId())
.add("birthdate", new SimpleDateFormat("DD/MM/YYYY").format(emp.getDateOfBirth()));
Step 2: Get JsonObject instance from JsonObjectBuilder.
JsonObject jsonObject = objectBuilder.build();
Step 3: Call toString() method on JsonObject.
Find the below working application.
Employee.java
package com.sample.app.model;
import java.util.Date;
public class Employee {
private int id;
private String firstName;
private String lastName;
private Date dateOfBirth;
public Employee(int id, String firstName, String lastName, Date dateOfBirth) {
this.id = id;
this.firstName = firstName;
this.lastName = lastName;
this.dateOfBirth = dateOfBirth;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public Date getDateOfBirth() {
return dateOfBirth;
}
public void setDateOfBirth(Date dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
}
ObjectToJsonDemo.java
package com.sample.app;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;
import javax.json.Json;
import javax.json.JsonObject;
import javax.json.JsonObjectBuilder;
import com.sample.app.model.Employee;
public class ObjectToJsonDemo {
private static String getJson(Employee emp) {
if (emp == null) {
return "";
}
JsonObjectBuilder objectBuilder = Json.createObjectBuilder()
.add("firstName", emp.getFirstName())
.add("lastName", emp.getLastName())
.add("id", emp.getId())
.add("birthdate", new SimpleDateFormat("DD/MM/YYYY").format(emp.getDateOfBirth()));
JsonObject jsonObject = objectBuilder.build();
return jsonObject.toString();
}
public static void main(String args[]) {
LocalDate dateOfBirth = LocalDate.of(1985, 1, 10);
Date date = Date.from(dateOfBirth.atStartOfDay(ZoneId.systemDefault()).toInstant());
Employee emp1 = new Employee(32, "Ram", "Gurram", date);
System.out.println(getJson(emp1));
}
}
Output
{"firstName":"Ram","lastName":"Gurram","id":32,"birthdate":"10/01/1985"}
No comments:
Post a Comment