zoukankan      html  css  js  c++  java
  • Gson 配置解析

    之前项目用到了gson对json和Java类之间互转,现在将gson的配置总结一下。

    首先,创建gson对象之间,建立gsonbuilder对象,并配置

    // 不导出实体类中没有用@Expose注解的属性
    gbuilder.excludeFieldsWithoutExposeAnnotation()
    // 支持Map的key为复杂对象的形式
    gbuilder.enableComplexMapKeySerialization()
    // 格式化date型  
    gbuilder.setDateFormat("yyyy-MM-dd HH:mm:ss:SSS")
    // 会把字段首字母大写,注:对于实体上使用了@SerializedName注解的不会生效.
    gbuilder.setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE)
    // 设置字段屏蔽,屏蔽不想转换的字段,ExList是String型的数组,设置此属性时@Expose注解就失效了
    gbuilder.setExclusionStrategies(new mExclusionStrategy(ExList))
    

       gson转化:

     // 将JavaBean字符串转换为 JSON 
      String sUser = gson.toJson(user); 
      System.out.println(sUser); 
      // {"id":1001,"name":"张三"} 

      // 将JSON字符串转换为 JavaBean 
      UserBean user2 = gson.fromJson(sUser, UserBean.class); 
      System.out.println(user2.getId() + ", " + user2.getName()); 
      // 1001, 张三

     

    注意:在gson转化的时候,若存在级联的实体类,在输出的时候要在hbm配置文件设置lazy=false

  • 相关阅读:
    BDD
    linux 删除中文名称乱码的文件
    python代码调用linux命令
    linux 查看内存
    java学习day17--API-注解
    java学习day17--API-单例设计模式
    java学习day17--API-同步锁
    java学习day16--API-多线程创建两种方式
    java学习day16--API-多线程-->进程和线程
    java学习day15--API-Map-->HashMap
  • 原文地址:https://www.cnblogs.com/tobeprogramer/p/4140476.html
Copyright © 2011-2022 走看看