毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> net技术 >> 正文

DataContractJsonSerializer转换JSON日期格式YYYY-MM-DD

更新时间:2015-12-18:  来源:毕业论文

使用.NET的DataContractJsonSerializer转换JSON格式数据,其中DateTime类型的转换后内容格式为 Date(1261443890904+0800),请教怎么能转换为“YYYY-MM-DD”的格式?

有达人说需要转换完对字符串中日期格式重新处理,有没有其他的办法呢?

现在框架里生成json用的jackson。优点多多,自不待言。
今天解析data类型的数据时生成的是毫秒时间戳,就是一大串数字的那个东西,这个串(1369208023078)谁也看不明白,当然是不能显示到页面上的。
如果想按照要求格式化这个时间戳,网上查了一下有两种办法。这里简单说说一种用注解办法解决的。
 
第一,写一个序列化Date类型的类,该类继承自com.fasterxml.jackson.databind.JsonSerializer。
public class CustomDateSerializer extends JsonSerializer<Date> {
 
    @Override
    public void serialize(Date value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
            String formattedDate = formatter.format(value);
            jgen.writeString(formattedDate);
    }

 
第二,在data类型的属性geter方法上打注解,告诉jackson,这个属性生成json时用CustomDateSerializer 来处理。
private Date yxq;
 
@JsonSerialize(using = CustomDateSerializer.class)
public Date getYxq() {
    return yxq;
}

 
第三,生成json
1
2
3 YpdmSimple obj = new YpdmSimple ();
String json = JsonUtil.toJson(obj );
System.out.println(json);

 
结果:注意有效期

  "pym" : "gpgdd",
  "ypbm" : "00001100",
  "tym" : "骨盆固定带",
  "cd" : "山东潍坊",
  "ypgg" : "1*",
  "yklsj" : 2.0000,
  "pc" : "0000000001",
  "ph" : "23",
  "yxq" : "2012-05-20",
  "kcl" : 23.0000,
  "jhj" : 23.0000,
  "cfbl" : 2,
  "ykpfj" : null,
  "ykdw" : null
}
C#直接用DataContractJsonSerializer处理就可以了。
  DataContractJsonSerializerSettings st = new DataContractJsonSerializerSettings();
 
            if (!string.IsNullOrEmpty(dateFormat)) st.DateTimeFormat = new System.Runtime.Serialization.DateTimeFormat(dateFormat);
            DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T), st);
            MemoryStream ms = new MemoryStream();
            ser.WriteObject(ms, t);
            string jsonString = Encoding.UTF8.GetString(ms.ToArray());
            ms.Close();
            return jsonString;

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。