Ada*_*han 6 java json java-ee fasterxml
如何通过扩展json为java Calendar创建自定义序列化serializer<Calendar>?
我尝试了相同的java.until.Date,它的工作.在序列化方法中,我将Date转换为String并以json格式写入.
为java.util.Date完成的示例代码类似于下面给出的代码
public class CDJsonDateSerializer extends JsonSerializer<Date>{
@Override
public void serialize(Date date, JsonGenerator jsonGenerator,SerializerProvider provider)
throws IOException {
SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
String dateString = dateFormat.format(date);
jsonGenerator.writeString(dateString);
}
}
Run Code Online (Sandbox Code Playgroud)
它是这样使用的:
@JsonSerialize(using = CDJsonDateSerializer.class)
private Date startDate;
Run Code Online (Sandbox Code Playgroud)
如何在java到json中序列化日历而不丢失Calendar对象中的数据?
Calendar创建一个JsonSerializer:
public class CalendarSerializer extends JsonSerializer<Calendar> {
private SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
@Override
public void serialize(Calendar calendar, JsonGenerator jsonGenerator,
SerializerProvider serializerProvider) throws IOException {
String dateAsString = formatter.format(calendar.getTime());
jsonGenerator.writeString(dateAsString);
}
}
Run Code Online (Sandbox Code Playgroud)
然后使用它:
@JsonSerialize(using = CalendarSerializer.class)
private Calendar calendar;
Run Code Online (Sandbox Code Playgroud)
CalendarJSON到创建一个JsonDeserializer:
public class CalendarDeserializer extends JsonDeserializer<Calendar> {
private SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
@Override
public Calendar deserialize(JsonParser jsonParser,
DeserializationContext deserializationContext)
throws IOException {
String dateAsString = jsonParser.getText();
try {
Date date = formatter.parse(dateAsString);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar;
} catch (Exception e) {
throw new IOException(e);
}
}
Run Code Online (Sandbox Code Playgroud)
然后使用它:
@JsonDeserialize(using = CalendarDeserializer.class)
private Calendar calendar;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6420 次 |
| 最近记录: |