public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if (!(value is DateTime)) { throw new InvalidOperationException("SeafTimestampConverter can only serialize datetime objects."); } serializer.Serialize(writer, SeafDateUtils.DateTimeToSeafileTime((DateTime)value)); }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { try { var timestamp = serializer.Deserialize <long>(reader); return(SeafDateUtils.SeafileTimeToDateTime(timestamp)); } catch (JsonSerializationException) { // value is probably null return(null); } }