I create this example so you can generate:
a valid json file using Gson lib.
read this file and converted it to Object Array java
I hope that's help you
Job Class :
public class Job {
private String site;
private String name;
public Job() {
}
public String getSite() {
return site;
}
public void setSite(String site) {
this.site = site;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("Job [site=");
builder.append(site);
builder.append(", name=");
builder.append(name);
builder.append("]");
return builder.toString();
}
}
Class Language :
public class Language {
private String lang;
private String knowledge;
public Language() {
}
public String getLang() {
return lang;
}
public void setLang(String lang) {
this.lang = lang;
}
public String getKnowledge() {
return knowledge;
}
public void setKnowledge(String knowledge) {
this.knowledge = knowledge;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("Language [lang=");
builder.append(lang);
builder.append(", knowledge=");
builder.append(knowledge);
builder.append("]");
return builder.toString();
}
}
Personne class :
import java.util.List;
public class Personne {
private int id;
private String firstname;
private List<Language> languages;
private Job job;
public Personne() {
}
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 List<Language> getLanguages() {
return languages;
}
public void setLanguages(List<Language> languages) {
this.languages = languages;
}
public Job getJob() {
return job;
}
public void setJob(Job job) {
this.job = job;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("Personne [id=");
builder.append(id);
builder.append(", firstname=");
builder.append(firstname);
builder.append(", languages=");
builder.append(languages);
builder.append(", job=");
builder.append(job);
builder.append("]");
return builder.toString();
}
}
Main Class:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
public class JsonGenerate {
public static void main(String[] args) throws IOException {
List<Personne> personnes = new ArrayList<Personne>();
List<Language> languages = new ArrayList<Language>();
Job job = new Job();
Language lang = new Language();
Personne per = new Personne();
lang.setLang("en");
lang.setKnowledge("proficient");
languages.add(lang);
lang = new Language();
lang.setLang("fr");
lang.setKnowledge("advanced");
languages.add(lang);
job.setName("Java Code Geeks");
job.setSite("www.javacodegeeks.com");
per.setFirstname("Katerina");
per.setId(1);
per.setJob(job);
per.setLanguages(languages);
personnes.add(per);
languages = new ArrayList<Language>();
per = new Personne();
lang = new Language();
lang.setLang("fr");
lang.setKnowledge("average");
languages.add(lang);
lang = new Language();
lang.setLang("hn");
lang.setKnowledge("advanced");
languages.add(lang);
job.setName("Php Code Geeks");
job.setSite("www.example.com");
per.setFirstname("Kati");
per.setId(2);
per.setJob(job);
per.setLanguages(languages);
personnes.add(per);
//System.out.println(personnes.toString());
Writer writer = new FileWriter("Output.json");
Gson gson = new GsonBuilder().create();
gson.toJson(personnes, writer);
writer.close();
BufferedReader bufferedReader = new BufferedReader(new FileReader("Output.json"));
Type collectionType = new TypeToken<List<Personne>>() {}.getType();
//convert the json string back to object
List<Personne> obj = gson.fromJson(bufferedReader, collectionType);
System.out.println(obj);
}
}