How to rename JSON properties using Jackson annotations?
In this example you will know how to ignore json property using @JsonIgnore jackson annotation. If you annotate any property
with @JsonIgnore annotation, it will be ignored at runtime.
Note: Refer How to convert Java object to JSON string? page for dependent libraries.
package com.java2novice.json.models;
import org.codehaus.jackson.annotate.JsonProperty;
public class Employee {
@JsonProperty("emp_id")
private int empId;
@JsonProperty("emp_name")
private String name;
@JsonProperty("emp_designation")
private String designation;
private String department;
private int salary;
public String toString(){
StringBuilder sb = new StringBuilder();
sb.append("************************************");
sb.append("\nempId: ").append(empId);
sb.append("\nname: ").append(name);
sb.append("\ndesignation: ").append(designation);
sb.append("\ndepartment: ").append(department);
sb.append("\nsalary: ").append(salary);
sb.append("\n************************************");
return sb.toString();
}
public int getEmpId() {
return empId;
}
public void setEmpId(int empId) {
this.empId = empId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDesignation() {
return designation;
}
public void setDesignation(String designation) {
this.designation = designation;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
}
|
Here is the example which reads json string value from a file, maps it to the object and converts the object back to
the json string format.
package com.java2novice.json.examples;
import java.io.File;
import java.io.IOException;
import org.codehaus.jackson.map.ObjectMapper;
import com.java2novice.json.models.Employee;
public class JsonToObject {
public static void main(String a[]){
ObjectMapper mapper = new ObjectMapper();
try {
// reading json input from the file and mapping to object
File jsonInputFile = new File("C:\\jsonInput.txt");
Employee emp = mapper.readValue(jsonInputFile, Employee.class);
System.out.println(emp);
// converting object to string value
String jsonStr
= mapper.writerWithDefaultPrettyPrinter().writeValueAsString(emp);
System.out.println(jsonStr);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
|
jsonInput.txt content:
{
"emp_id": 1017,
"emp_name": "Nagesh Y",
"emp_designation": "Manager",
"department": "Java2Novice",
"salary": 30000
}
|
|