问题:
现有jsonString={"time":"\\/Date(1294499956278+0800)\\/"},的字符串如何反序列成“3013-09-27”的格式,反之“3013-09-27”又如何序列化成"\\/Date(1294499956278+0800)\\/"这种格式,请给出具体的java方法代码,理论的请绕道。android gsonandroidgson
现有jsonString={"time":"\\/Date(1294499956278+0800)\\/"},的字符串如何反序列成“3013-09-27”的格式,反之“3013-09-27”又如何序列化成"\\/Date(1294499956278+0800)\\/"这种格式,请给出具体的java方法代码,理论的请绕道。android gsonandroidgson
private final DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public JsonElement serialize(Timestamp src, Type arg1, JsonSerializationContext arg2) {
String dateFormatAsString = format.format(new Date(src.getTime()));
return new JsonPrimitive(dateFormatAsString);
} public Timestamp deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
if (!(json instanceof JsonPrimitive)) {
throw new JsonParseException("The date should be a string value");
}
try {
Date date = format.parse(json.getAsString());
return new Timestamp(date.getTime());
} catch (ParseException e) {
throw new JsonParseException(e);
}
}
}
看到上边的方法了吗deserialize方法是对时间json格式的序列化(及转换为普通时间格式),serialize方法是时间格式字符串的反序列化(及把普通时间格式转换为json格式),懂不,现在要解决的是把{"time":"\\/Date(1294499956278+0800)\\/"}反序列化为成普通时间格式,然后再把序列化成json格式,及求之间的转换方法(代码懂不),
看到上边的方法了吗deserialize方法是对时间json格式的反序列化(及转换为普通时间格式),serialize方法是时间格式字符串的序列化(及把普通时间格式转换为json格式),懂不,现在要解决的是把{"time":"\\/Date(1294499956278+0800)\\/"}反序列化为成普通时间格式,然后再把序列化成json格式,及求之间的转换方法(代码懂不),