JSON to Java Conversion
Maven Dependency required for this project
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.6</version>
</dependency>
Conversion from JSON to JAVA object takes place by following below two steps,
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.6</version>
</dependency>
Conversion from JSON to JAVA object takes place by following below two steps,
- By Creating instance of com.fasterxml.jackson.databind.ObjectMapper
- Then using objectMapper.readValue() method to convert JSON to Java object
ObjectMapper mapper = new ObjectMapper();
allQuestions = mapper.readValue(new File("questions.json"), AllQuestions.class);
allQuestions = mapper.readValue(new File("questions.json"), AllQuestions.class);
Complete Example:
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.gaurav.json</groupId>
<artifactId>jackson-example</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.6</version>
</dependency>
</dependencies>
</project>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.gaurav.json</groupId>
<artifactId>jackson-example</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.6</version>
</dependency>
</dependencies>
</project>
Java Pojo Classes:
AllQuestions.java
package com.gaurav.jackson.model;
public class AllQuestions
{
private Questions[] questions;
public Questions[] getQuestions ()
{
return questions;
}
public void setQuestions (Questions[] questions)
{
this.questions = questions;
}
@Override
public String toString()
{
return "AllQuestions [questions = "+questions+"]"; }
}
public class AllQuestions
{
private Questions[] questions;
public Questions[] getQuestions ()
{
return questions;
}
public void setQuestions (Questions[] questions)
{
this.questions = questions;
}
@Override
public String toString()
{
return "AllQuestions [questions = "+questions+"]"; }
}
Questions.java
package com.gaurav.jackson.model;
public class Questions
{
private String questionIdId;
private QuestionDetails questionDetails;
public String getQuestionIdId ()
{
return questionIdId; }
public void setQuestionIdId (String questionIdId)
{
this.questionIdId = questionIdId;
}
public QuestionDetails getQuestionDetails ()
{
return questionDetails; }
public void setQuestionDetails (QuestionDetails questionDetails)
{
this.questionDetails = questionDetails; }
@Override
public String toString()
{
return "Questions [questionIdId = "+questionIdId+", questionDetails = "+questionDetails+"]"; }
}
public class Questions
{
private String questionIdId;
private QuestionDetails questionDetails;
public String getQuestionIdId ()
{
return questionIdId; }
public void setQuestionIdId (String questionIdId)
{
this.questionIdId = questionIdId;
}
public QuestionDetails getQuestionDetails ()
{
return questionDetails; }
public void setQuestionDetails (QuestionDetails questionDetails)
{
this.questionDetails = questionDetails; }
@Override
public String toString()
{
return "Questions [questionIdId = "+questionIdId+", questionDetails = "+questionDetails+"]"; }
}
QuestionDetails.java
package com.gaurav.jackson.model;
public class QuestionDetails
{
private String data;
private String index;
private String exam_id;
public String getData ()
{
return data;
}
public void setData (String data)
{
this.data = data;
}
public String getIndex ()
{
return index;
}
public void setIndex (String index)
{
this.index = index;
}
public String getExam_id ()
{
return exam_id;
}
public void setExam_id (String exam_id)
{
this.exam_id = exam_id;
}
@Override
public String toString()
{
return "QuestionDetails [data = "+data+", index = "+index+", exam_id = "+exam_id+"]"; }
}
public class QuestionDetails
{
private String data;
private String index;
private String exam_id;
public String getData ()
{
return data;
}
public void setData (String data)
{
this.data = data;
}
public String getIndex ()
{
return index;
}
public void setIndex (String index)
{
this.index = index;
}
public String getExam_id ()
{
return exam_id;
}
public void setExam_id (String exam_id)
{
this.exam_id = exam_id;
}
@Override
public String toString()
{
return "QuestionDetails [data = "+data+", index = "+index+", exam_id = "+exam_id+"]"; }
}
- Main Java class which will help to read the JSON file and convert that into Java object.
JSON2JavaConverter.java
package com.gaurav.jackson.json;
import java.io.File;
import java.io.IOException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
import com.fasterxml.jackson.core.JsonGenerationException;
import com.gaurav.jackson.model.AllQuestions;
import com.gaurav.jackson.model.QuestionDetails;
import com.gaurav.jackson.model.Questions;
public class JSON2JavaConverter {
public static void main(String[] args) {
AllQuestions allQuestions = null;
ObjectMapper mapper = new ObjectMapper();
try {
allQuestions = mapper.readValue(new File("questions.json"), AllQuestions.class);
} catch (JsonGenerationException e)
{
e.printStackTrace();
} catch (JsonMappingException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
Questions[] quesArray = allQuestions.getQuestions();
for(Questions question: quesArray) {
QuestionDetails questionDetails = question.getQuestionDetails();
System.out.println("questionDetail Exam ID:"+questionDetails.getExam_id());
System.out.println("questionDetail Index:"+questionDetails.getIndex());
System.out.println("questionDetail Data:"+questionDetails.getData());
}
}
}
import java.io.File;
import java.io.IOException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
import com.fasterxml.jackson.core.JsonGenerationException;
import com.gaurav.jackson.model.AllQuestions;
import com.gaurav.jackson.model.QuestionDetails;
import com.gaurav.jackson.model.Questions;
public class JSON2JavaConverter {
public static void main(String[] args) {
AllQuestions allQuestions = null;
ObjectMapper mapper = new ObjectMapper();
try {
allQuestions = mapper.readValue(new File("questions.json"), AllQuestions.class);
} catch (JsonGenerationException e)
{
e.printStackTrace();
} catch (JsonMappingException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
Questions[] quesArray = allQuestions.getQuestions();
for(Questions question: quesArray) {
QuestionDetails questionDetails = question.getQuestionDetails();
System.out.println("questionDetail Exam ID:"+questionDetails.getExam_id());
System.out.println("questionDetail Index:"+questionDetails.getIndex());
System.out.println("questionDetail Data:"+questionDetails.getData());
}
}
}
OUTPUT:
questionDetail Exam ID:2345190
questionDetail Index:0
questionDetail Data:{"Which of the following was most probably the first metal to be used in India?", "answers": "[A] Iron", "[B] Copper", "[C] Gold"," [D] Silver", " Answer is": "[B] Copper"}
questionDetail Exam ID:2345191
questionDetail Index:1
questionDetail Data:{"Entomology is the science that studies?", "answers": "[A] Behavior of human beings", "[B] Insects", "[C] The origin and history of technical and scientific terms"," [D] The formation of rocks", " Answer is": "[B] Insects"}
questionDetail Exam ID:2345190
questionDetail Index:2
questionDetail Data:{"For galvanizing iron which of the following metals is used?", "answers": "[A] Aluminium", "[B] Copper", "[C] Lead"," [D] Zinc", " Answer is": "[D] Zinc"}
No comments:
Post a Comment