调用 sendResponseMsg 遇到的问题

author:myzhai

//形式一:
//在项目中遇到问题,数据库中保存的时间类型为datetime(MySQL),实体类中对应数据类型为Java.sql.Date,利用GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss")构造gson对象向客户端输出json字符串。
//为了避免使用Gson时遇到locale影响Date格式的问题,使用GsonBuilder来创建Gson对象,在创建过程中调用GsonBuilder.setDateFormat(String)指定一个固定的格式即可。

protected void sendResponseMsg(Object src) {
	final Gson g = new GsonBuilder().setDateFormat(DateFormat.DateTime.getFormat()).create();
		this.sendResponseMsg(g.toJson(src));
	}
	


//形式二:
// @Expose注解是不起作用的,除非你用GsonBuilder创建Gson的时候调用了GsonBuilder.excludeFieldsWithoutExposeAnnotation()方法,此时po中没有添加@Expose注解的字段是不会被序列化的

protected void sendResponseMsg(Object src) {
 final Gson g = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
		this.sendResponseMsg(g.toJson(src));
	}

  • 首先创建GsonBuilder ,然后调用GsonBuilder提供的各种配置方法进行配置,最后调用GsonBuilder的create方法,相当于当前的配置创建一个Gson实例
原文地址:https://www.cnblogs.com/wisdombud/p/7148360.html