template<> void Jsonize(JsonIO& io, Date& var) { if(io.IsLoading()) { const Value& v = io.Get(); if(IsNull(v)) { var = Null; return; } if(IsString(v)) { String text = v; if(text.GetCount() > 6) { Date d; d.year = ScanInt(text.Left(4)); d.month = ScanInt(text.Mid(4, 2)); d.day = ScanInt(text.Mid(6)); if(d.IsValid()) { var = d; return; } } } throw JsonizeError("string expected for Date value"); } else if(IsNull(var)) io.Set(Null); else io.Set(Format("%04d%02d%02d", var.year, var.month, var.day)); }