In this Boon JSON Parser tutorial, we will learn how to Convert JSON to Java object and Convert Java Object to JSON again using Boon API.
Folder Structure:
-
- Create a new Java Project “BoonJSONTutorial” and create a package for our src files “com.javainterviewpoint“
- Add the required libraries to the build path. Java Build Path ->Libraries ->Add External JARs and add the below jars.
boon-0.34.jar
if you are running on maven add the below dependency to your pom.xml
<dependency> <groupId>io.fastjson</groupId> <artifactId>boon</artifactId> <version>0.34</version> </dependency>
- Create the Java classes Employee.java, JSONToObject.java, ObjectToJSON.java and MapToJSON.java under com.javainterviewpoint folder.
Boon JSON Parser
Employee.java
Employee class is a simple POJO, for holding the details of the Employee.
package com.javainterviewpoint; public class Employee { private String name; private String department; public Employee() { super(); } public Employee(String name, String department) { super(); this.name = name; this.department = department; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDepartment() { return department; } public void setDepartment(String department) { this.department = department; } }
Parse JSON to Java object
package com.javainterviewpoint; import org.boon.json.JsonFactory; import org.boon.json.ObjectMapper; public class JSONToObject { public static void main(String[] args) { //JSON String String jsonString = "{\"name\":\"Javainterviewpoint\",\"department\":\"Computer\"}"; //create ObjectMapper object ObjectMapper mapper = JsonFactory.create(); //Mapping json to employee object Employee employee = mapper.fromJson(jsonString, Employee.class); //Print the Employee Details System.out.println("** Employee Details **"); System.out.println("Employee Name : "+employee.getName()); System.out.println("Employee Dept : "+employee.getDepartment()); } }
- Create a new ObjectMapper object, it helps us mapping the JSON data with the POJO
ObjectMapper mapper = JsonFactory.create();
- fromJson() method maps the jsonString to employee object.
Employee employee = mapper.fromJson(jsonString, Employee.class);
- Finally print the Employee details
System.out.println("** Employee Details **"); System.out.println("Employee Name : "+employee.getName()); System.out.println("Employee Dept : "+employee.getDepartment());
Output :
** Employee Details ** Employee Name : Javainterviewpoint Employee Dept : Computer
Parse Java Object to JSON
package com.javainterviewpoint; import org.boon.json.JsonFactory; import org.boon.json.ObjectMapper; public class ObjectToJSON { public static void main(String[] args) { //Create employee object and set values to its properties Employee employee = new Employee(); employee.setName("JIP"); employee.setDepartment("Technology"); //create ObjectMapper object ObjectMapper mapper = JsonFactory.create(); //parse java object to string String jsonString = mapper.toJson(employee); //print the json string System.out.println(jsonString); } }
- Create a new Object for the Employee class
Employee employee = new Employee();
- Set value to the properties of Employee class
employee.setName("JIP"); employee.setDepartment("Technology");
- Create a new ObjectMapper object, it helps us mapping the JSON data with the POJO
ObjectMapper mapper = JsonFactory.create();
- toJson() met hod converts the employee object into json String.
String jsonString = mapper.toJson(employee);
Output :
{"name":"JIP","department":"Technology"}
Parse Java Map into JSON
The ObjectMapper can also produce the JSON from the Java Map, we simlpy need to pass the Map as the parameter to the writeValueAsString() method
package com.javainterviewpoint; import java.util.HashMap; import java.util.Map; import org.boon.json.JsonFactory; import org.boon.json.ObjectMapper; public class MapToJSON { public static void main(String[] args) { ObjectMapper mapper = JsonFactory.create(); Map<String,String> employeeMap = new HashMap<String,String>(); employeeMap.put("Name", "JavaInterviewPoint"); employeeMap.put("Profession", "Blogging"); employeeMap.put("Department", "IT"); String jsonString = mapper.writeValueAsString(employeeMap); System.out.println(jsonString); } }
Output :
{"Name":"JavaInterviewPoint","Profession":"Blogging","Department":"IT"}
In order to write the json to a file simply we need to give the file and the map as the parameter to the writeValue() method.
mapper.writeValue(new File("D:/employee.json"),employeeMap);
After the execution of the program, We will get the employee.json file written.
Leave a Reply