public DateTimeOffset?Deserialize(ref JsonReader reader, IJsonFormatterResolver formatterResolver) { if (reader.ReadIsNull()) { return(null); } return(DogApiUtil.UnixTimeMillisecondsToDateTimeOffset(reader.ReadInt64())); }
public DogMetricPoint Deserialize(ref JsonReader reader, IJsonFormatterResolver formatterResolver) { if (reader.ReadIsNull()) { return(null); } else { reader.ReadIsBeginArrayWithVerify(); DateTimeOffset timestamp; double value; var count = 0; if (!reader.ReadIsEndArrayWithSkipValueSeparator(ref count)) { var dec = DecimalFormatter.Default.Deserialize(ref reader, formatterResolver); /* 小数点がついてくるのでDecimalFormatterを使う */ timestamp = DogApiUtil.UnixTimeMillisecondsToDateTimeOffset((long)dec); } else { throw new JsonParsingException("invalid point json data"); } if (!reader.ReadIsEndArrayWithSkipValueSeparator(ref count)) { value = reader.ReadDouble(); } else { throw new JsonParsingException("invalid point json data"); } if (!reader.ReadIsEndArrayWithSkipValueSeparator(ref count)) { throw new JsonParsingException("invalid point json data"); } return(new DogMetricPoint() { Timestamp = timestamp, Value = value }); } }
public DateTimeOffset Deserialize(ref JsonReader reader, IJsonFormatterResolver formatterResolver) => DogApiUtil.UnixTimeMillisecondsToDateTimeOffset(reader.ReadInt64());