|
1 | 1 | package com.tencent.xinge.bean;
|
2 | 2 |
|
| 3 | +import com.fasterxml.jackson.core.JsonGenerator; |
| 4 | +import com.fasterxml.jackson.databind.JsonSerializer; |
| 5 | +import com.fasterxml.jackson.databind.SerializerProvider; |
| 6 | +import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
3 | 7 | import org.json.JSONObject;
|
4 | 8 |
|
| 9 | +import java.io.IOException; |
| 10 | + |
| 11 | +@JsonSerialize(using = TimeIntervalSerializer.class) |
5 | 12 | public class TimeInterval {
|
6 | 13 |
|
7 | 14 | public TimeInterval(int startHour, int startMin, int endHour, int endMin) {
|
@@ -33,9 +40,35 @@ public JSONObject toJsonObject() {
|
33 | 40 | return json;
|
34 | 41 | }
|
35 | 42 |
|
36 |
| - private int m_startHour; |
37 |
| - private int m_startMin; |
38 |
| - private int m_endHour; |
39 |
| - private int m_endMin; |
| 43 | + protected int m_startHour; |
| 44 | + protected int m_startMin; |
| 45 | + protected int m_endHour; |
| 46 | + protected int m_endMin; |
| 47 | + |
| 48 | + |
| 49 | + |
40 | 50 | }
|
41 | 51 |
|
| 52 | + |
| 53 | +class TimeIntervalSerializer extends JsonSerializer<TimeInterval>{ |
| 54 | + |
| 55 | + @Override |
| 56 | + public void serialize(TimeInterval timeInterval, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { |
| 57 | + jsonGenerator.writeStartObject(); |
| 58 | + jsonGenerator.writeFieldName("start"); |
| 59 | + jsonGenerator.writeStartObject(); |
| 60 | + jsonGenerator.writeFieldName("hour"); |
| 61 | + jsonGenerator.writeString(String.valueOf(timeInterval.m_startHour)); |
| 62 | + jsonGenerator.writeFieldName("min"); |
| 63 | + jsonGenerator.writeString(String.valueOf(timeInterval.m_startMin)); |
| 64 | + jsonGenerator.writeEndObject(); |
| 65 | + |
| 66 | + jsonGenerator.writeFieldName("end"); |
| 67 | + jsonGenerator.writeStartObject(); |
| 68 | + jsonGenerator.writeFieldName("hour"); |
| 69 | + jsonGenerator.writeString(String.valueOf(timeInterval.m_endHour)); |
| 70 | + jsonGenerator.writeFieldName("min"); |
| 71 | + jsonGenerator.writeString(String.valueOf(timeInterval.m_endMin)); |
| 72 | + jsonGenerator.writeEndObject(); |
| 73 | + } |
| 74 | +} |
0 commit comments