Gson入門

慕課網《JSON快速入門(Java版)》筆記json

  項目中用的多爲JsonObjecty一類的...然而,Gson更爲強大!數組

Gson gson = new Gson();
String user = gson.toJson(new User("xiaoming"));
//{"name":"xiaoming"}

  能夠經過註解修改輸出的屬性名,更爲安全。安全

class User{
	@SerializedName("NAME")
	private String name;
	...
}
//{"NAME":"xiaoming"}

  也能夠經過builder構建json,添加更多功能。ui

GsonBuilder gsonBuilder = new GsonBuilder();

//修改輸出格式
gsonBuilder.setPrettyPrinting();

//修改輸出字段
gsonBuilder.setFieldNamingStrategy(new FieldNamingStrategy(){
	public String translateName(Field f){
		return f.getName() + "-123";
	}
});

Gson gson = gsonBuilder.create();

  還有一個特殊的關鍵字。code

class User{
	//輸出時json中不會包含這個字段
	private transient String ignore;
}

  Gson能夠直接將數組映射到集合,也能夠帶日期轉換,解析方法以下,和net.sf.json相同,只不事後者須要一個jsonConfig。orm

class User{
	private Date date;
	private List<String> list;
	...
}

Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
User user = gson.fromJson(userJson, User.class);
相關文章
相關標籤/搜索