JSON

移动开发其他类

字号+ 作者:H5之家 来源:H5之家 2017-09-04 18:05 我要评论( )

json使用技巧1 健壮性考虑,判断是否具有某个属性,json isNull()2 让外界看不到某个属性 private transient string ignore; 当对象被序列化时(写入字节序列到

json使用技巧

1.健壮性考虑,判断是否具有某个属性,json. isNull()

2.让外界看不到某个属性 private transient string ignore; 当对象被序列化时(写入字节序列到目标文件)时,transient阻止实例中那些用此关键字声明的变量持久化;当对象被反序列化时(从源文件读取字节序列进行重构),这样的实例变量值不会被持久化和恢复。

3.GsonBuilder 的使用,

Gsongson=newGsonBuilder() .setFieldNamingStrategy(new FieldNamingStrategy() { @Override public String translateName(Field f) { if (f.getName().equals("name")){ return "NAME"; } return f.getName(); }}).excludeFieldsWithoutExposeAnnotation()//不导出实体中没有用@Expose注解的属性.enableComplexMapKeySerialization()//支持Map的key为复杂对象的形式.serializeNulls().setDateFormat("yyyy-MM-ddHH:mm:ss:SSS")//时间转化为特定格式.setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE)//会把字段首字母大写,注:对于实体上使用了@SerializedName注解的不会生效..setPrettyPrinting()//对json结果格式化..setVersion(1.0)//有的字段不是一开始就有的,会随着版本的升级添加进来,那么在进行序列化和返序列化的时候就会根据版本号来选择是否要序列化.//@Since(版本号)能完美地实现这个功能.还的字段可能,随着版本的升级而删除,那么//@Until(版本号)也能实现这个功能,GsonBuilder.setVersion(double)方法需要调用..create();

4. @SerializedName注解来将对象里的属性跟json里字段对应值匹配起来

@SerializedName("n")

private String userName

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 数组array与对象object相互转换 PHP数组和Json之间的转换

    数组array与对象object相互转换 PHP数组和Json之间的转换

    2017-09-01 16:01

  • 承接图像处理计算机编程电气建模仿真有限元分析技术开发

    承接图像处理计算机编程电气建模仿真有限元分析技术开发

    2017-08-29 18:02

  • json web token 网上学习笔记

    json web token 网上学习笔记

    2017-08-27 08:00

  • jsoncpp学习

    jsoncpp学习

    2017-08-20 13:00

网友点评