慕课网《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);