json使用技巧
1.健壮性考虑,判断是否具有某个属性,json. isNull()
2.让外界看不到某个属性 private transient string ignore; 当对象被序列化时(写入字节序列到目标文件)时,transient阻止实例中那些用此关键字声明的变量持久化;当对象被反序列化时(从源文件读取字节序列进行重构),这样的实例变量值不会被持久化和恢复。
3.GsonBuilder 的使用,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| Gson gson = new GsonBuilder() .setFieldNamingStrategy(new FieldNamingStrategy() { @Override public String translateName(Field f) { if (f.getName().equals("name")){ return "NAME"; } return f.getName(); } }) .excludeFieldsWithoutExposeAnnotation() .enableComplexMapKeySerialization() .serializeNulls().setDateFormat("yyyy-MM-dd HH:mm:ss:SSS") .setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE) .setPrettyPrinting() .setVersion(1.0) .create();
|
4. @SerializedName注解来将对象里的属性跟json里字段对应值匹配起来
@SerializedName("n")
private String userName