gson强大的地方是可以反解析
//从文件过去json
File file = new File(GsonT.class.getResource("json.sjon").getFile());
String s = FileUtils.readFileToString(file);
Gson gson = new Gson();
Diaosi diaosi = gson.fromJson(s, Diaosi.class);
//gson转换日期格式
File file = new File(GsonT.class.getResource("json.sjon").getFile());
String s = FileUtils.readFileToString(file);
Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
Diaosi diaosi1 = gson.fromJson(s, Diaosi.class);
System.out.println(diaosi1.getBirthDay().toString());
System.out.println(diaosi1.getMajor());
System.out.println(diaosi1.getMajor().getClass());//java.util.Array
System.out.println(diaosi1.getMajor().getClass());//修改diaosi类的major类型为Set.gson会自动转换成java.util.Set
//最基本的json操作
JSONObject json = new JSONObject();
Object nullObj=null;
json.put("name","王小二");
//gonsBuilder格式
GsonBuilder gb=new GsonBuilder();
gb.setPrettyPrinting();
gb.setFieldNamingStrategy(new FieldNamingStrategy() {
public String translateName(Field field) {
if(field.getName().equals("name")){
return "Name";
}
return field.getName();
}
});
Gson gson1 = gb.create();
System.out.println(gson1.toJson(diaosi));
//获取数组jsonarray
File file = new File(JsonObjectOne.class.getResource("/j.json").getFile());
String content = FileUtils.readFileToString(file);
JSONObject jsonObject = new JSONObject(content);
if(!jsonObject.isNull("name")){
}
if(!jsonObject.isNull("nickname")){
}
JSONArray jsonArray = jsonObject.getJSONArray("major");
for(int i=0;i<jsonArray.length();i++){
String m=(String)jsonArray.get(i);
}