Maven dependency -
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.6</version>
</dependency>
|
If you are beginner don't worry learn how to Create new Maven project - In 2 minutes
We will use @JsonPropertyOrder
@JsonPropertyOrder({ "emp_name", "address","emp_id"})
public class Employee {
….
}
Employee class
package com.ankit.json;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonPropertyOrder({ "emp_name", "address","emp_id"})
public class Employee {
//Fields
@JsonProperty() //Let it have same name
private int empId;
@JsonProperty("emp_name") //Make JSON to have emp_name instead of name
private String name;
@JsonProperty("emp_address") //Make JSON to have emp_address instead of address
private List<String> address;
public Employee() {
super();
}
public Employee(int empId, String name, List<String> address) {
super();
this.empId = empId;
this.name = name;
this.address = address;
}
@Override
public String toString() {
return "Employee [empId=" + empId + ", name=" + name + ", address=" + address + "]";
}
//Setter and getters
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 List<String> getAddress() {
return address;
}
public void setAddress(List<String> address) {
this.address = address;
}
}
|
How to order JSON properties in java- Jackson api
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import com.ankit.json.Employee;
import com.fasterxml.jackson.core.JsonGenerationException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class ConvertJavaObjectToJson {
public static void main(String[] args) {
try {
ObjectMapper objectMapper = new ObjectMapper();
List<String> addesss = new ArrayList<>();
addesss.add("Paris");
addesss.add("London");
Employee employee = new Employee(11, "Ankit", addesss);
// Convert java object to JSON string
String jsonInString = objectMapper.writeValueAsString(employee);
System.out.println("jsonInString = "+jsonInString);
// pretty print - Convert java object to JSON string
String jsonInStringPretty = objectMapper.
writerWithDefaultPrettyPrinter().writeValueAsString(employee);
System.out.println("\njsonInStringPretty = "+jsonInStringPretty);
} catch (JsonGenerationException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
//output
/*
jsonInString = {"emp_name":"Ankit","address":["Paris","London"],"empId":11}
jsonInStringPretty = {
"emp_name" : "Ankit",
"address" : [ "Paris", "London" ],
"empId" : 11
}
*/
|
Related links >
1. Jackson JSON -
We can use Jackson api for for processing JSON in java.
Jackson JSON examples
2. Java provides API (JSR 353) for Processing JSON (JSR 353).
It provides -
- Object Model API
- Streaming API
Java API for JSON processing examples >