1-1.Diaosi.java(bean)java
package Bean; import com.google.gson.annotations.SerializedName; public class Diaosi { @SerializedName("NAME") private String name; private String school; private boolean has_girlfriend; private double age; private Object car; private String[] major; private transient String ignore; public String getIgnore() { return ignore; } public void setIgnore(String ignore) { this.ignore = ignore; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSchool() { return school; } public void setSchool(String school) { this.school = school; } public boolean isHas_girlfriend() { return has_girlfriend; } public void setHas_girlfriend(boolean has_girlfriend) { this.has_girlfriend = has_girlfriend; } public double getAge() { return age; } public void setAge(double age) { this.age = age; } public Object getCar() { return car; } public void setCar(Object car) { this.car = car; } public String[] getMajor() { return major; } public void setMajor(String[] major) { this.major = major; } public String getComment() { return comment; } public void setComment(String comment) { this.comment = comment; } public String getBirthday() { return birthday; } public void setBirthday(String birthday) { this.birthday = birthday; } private String comment; private String birthday; // public String toString(){ // // return "[name:'"+name+"',school:'"+school+"',has_girlfriend:'"+has_girlfriend+"',age:'"+age+"',major:'"+major+"']"; // } }
1-2.apache
GsonGreateSample.javajson
package day05.gson; import java.lang.reflect.Field; import com.google.gson.FieldNamingStrategy; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import Bean.Diaosi; public class GsonGreateSample { public static void main(String[] args) { Diaosi wangxiaoer = new Diaosi(); Object nullObject = null; wangxiaoer.setName("wangxiaoer"); wangxiaoer.setAge(25.2); wangxiaoer.setBirthday("1990-01-01"); wangxiaoer.setSchool("藍翔"); wangxiaoer.setMajor(new String[] { "理髮", "挖掘機" }); wangxiaoer.setHas_girlfriend(false); wangxiaoer.setCar(nullObject); wangxiaoer.setComment("這是一個註釋"); // gson GsonBuilder gsonbuilder = new GsonBuilder(); gsonbuilder.setPrettyPrinting(); gsonbuilder.setFieldNamingStrategy(new FieldNamingStrategy() { @Override public String translateName(Field f) { if (f.getName().equals("school")) { return "SCHOOL"; } return f.getName(); } }); Gson gson = gsonbuilder.create(); System.out.println(gson.toJson(wangxiaoer)); } }
結果:ide
-------------------------------------------------------ui
{this
"NAME": "wangxiaoer",google
"SCHOOL": "藍翔",spa
"has_girlfriend": false,code
"age": 25.2,blog
"major": [
"理髮",
"挖掘機"
],
"comment": "這是一個註釋",
"birthday": "1990-01-01"
}
-------------------------------------------------------
2-1.
Diaosinew.java(bean)
package Bean; import java.util.List; import com.google.gson.annotations.SerializedName; public class Diaosinew { @SerializedName("NAME") private String name; private String school; private boolean has_girlfriend; private double age; private Object car; private List<String> major; public List<String> getMajor() { return major; } public void setMajor(List<String> major) { this.major = major; } private transient String ignore; public String getIgnore() { return ignore; } public void setIgnore(String ignore) { this.ignore = ignore; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSchool() { return school; } public void setSchool(String school) { this.school = school; } public boolean isHas_girlfriend() { return has_girlfriend; } public void setHas_girlfriend(boolean has_girlfriend) { this.has_girlfriend = has_girlfriend; } public double getAge() { return age; } public void setAge(double age) { this.age = age; } public Object getCar() { return car; } public void setCar(Object car) { this.car = car; } public String getComment() { return comment; } public void setComment(String comment) { this.comment = comment; } public String getBirthday() { return birthday; } public void setBirthday(String birthday) { this.birthday = birthday; } private String comment; private String birthday; // public String toString(){ // // return "[name:'"+name+"',school:'"+school+"',has_girlfriend:'"+has_girlfriend+"',age:'"+age+"',major:'"+major+"']"; // } }
2-2.
ReadGSONSample.java
package day05; import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import com.google.gson.Gson; import Bean.Diaosinew; public class ReadGSONSample { public static void main(String[] args) throws IOException { File file = new File(ReadJSONSample.class.getResource("/wangxiaoer.json").getFile()); String content = FileUtils.readFileToString(file); Gson gson=new Gson(); Diaosinew wangxiaoer =(Diaosinew) gson.fromJson(content, Diaosinew.class); System.out.println(wangxiaoer.getMajor()); System.out.println(wangxiaoer.getMajor().getClass()); } }
結果:
[理髮, 挖掘機]
class java.util.ArrayList