Я говорю с веб-службой от Xamarin. Он посылает даты вниз по проволоке в формате JSON, в формате ISO-8601, как это:ServiceStack.Text в .NET не deserializing вложенное datetime
"2016-05-13T16: 02: 47.480-07: 00"
Если я пытаюсь десериализации просто единственная дата, она отлично работает. Но когда DateTime является членом класса, он не работает. Ошибка не указана. Вот пример кода:
using ServiceStack.Text;
class TestDate {
public DateTime testDate;
}
void Test() {
JsConfig.DateHandler = JsonDateHandler.ISO8601;
// this works just fine:
String dateString = "2016-05-13T16:02:47.480-07:00";
DateTime theDate = dateString.FromJson<DateTime>();
// this does not deserialize
String testStr = "{\"testDate\":\"2016-05-13T16:02:51.923-07:00\"}";
TestDate tester = testStr.FromJson<TestDate>();
}
Любые идеи? Я не вижу никакой ошибки, просто получаю новый объект TestDate без установленной даты.
Ok я не имеют контроля над веб-службы, любые идеи наилучшим образом, чтобы разобрать его ? Кроме того, как это работает с одной датой? –
@DaveVronay Он анализирует по умолчанию, не меняя DateHandler, также похоже, что вы используете очень старую версию ServiceStack.Text, где тип 'JsonDateHandler' больше не существует. – mythz
Также я только что проверил связанную вами страницу, и кажется, что ISO 8601 поддерживает часовые пояса ... https://en.wikipedia.org/wiki/ISO_8601#Time_zone_designators –