Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / 如何定制对象中特定字段的JSON输出内容

引言: 在Web应用开发中,经常需要将对象转化为JSON字符串的过程中,会有默认的输出内容不符合要求的情况,比如DateTime。一般可以通过定制Serializer来实现定制化的JSON字符输出。1.  在对象中的getXXX方法中设置自定义的Serializerpublic class MyObject {
   private DateTime startDate;
     @JsonSerialize(using = DateTimeJsonSerializer.class)
     public DateTime getStartDate(){
         return this.startDate;
   }
}说明:1. @JsonSerializer定义了自定义的序列号类,2.  using中指定自定义的java转化类2.  实现自定义的Serializerpublic class DateTimeJsonSerializer extends JsonSerializer<DateTime> {  private static DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH-mm-ss");
 
 @Override
 public void serialize(DateTime value, JsonGenerator generator,
   SerializerProvider arg2) throws IOException,
   JsonProcessingException {
 generator.writeString(formatter.print(value)); 
 }
}在这个例子中,主要是针对DateTime进行JSON输出类型信息的转换。DateTime在声明类型的时候,做通用类T来输入;在具体的方法中,做为value来传入。 generator.writeString()来输出JSON String信息。3.  进行测试在未进行自定义格式化输出之前在进行格式化输出之后:4.  总结有了@JsonSerialize这个神器之后,就可以随心所欲的输出Json结果信息了。--------------------------------------分割线 --------------------------------------Struts中异步传送XML和JSON类型的数据 http://www.linuxidc.com/Linux/2013-08/88247.htmLinux下JSON库的编译及代码测试 http://www.linuxidc.com/Linux/2013-03/81607.htmjQuery 获取JSON数据[$.getJSON方法] http://www.linuxidc.com/Linux/2013-03/81673.htm用jQuery以及JSON包将表单数据转为JSON字符串 http://www.linuxidc.com/Linux/2013-01/77560.htm在C语言中解析JSON配置文件 http://www.linuxidc.com/Linux/2014-05/101822.htm--------------------------------------分割线 --------------------------------------本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-02/113266.htm