Тип Timespan не может быть правильно отображен при использовании Servicestack CsvSerializer - PullRequest
0 голосов
/ 28 мая 2018

Я пытаюсь преобразовать список объектов в разделенную запятыми строку с помощью метода SerializeToCsv из Servicestack.Тем не менее, я понял, что временной интервал не может быть преобразован правильно.Например, мое значение временного интервала составляет 19:00:00, однако оно преобразуется в PT19H.Вы можете увидеть код ниже.Я могу преобразовать временной интервал в строку, добавив свойство строки и изменив временной интервал на строку во время выполнения объекта, однако я подумал, что в Servicestack будет лучший способ, и не смог ничего найти в Интернете.Заранее спасибо!

 public string Convert()
  {
        var data =  _table.Get();
        CsvSerializer.UseEncoding = PclExport.Instance.GetUTF8Encoding(true);
        var csvStr = CsvSerializer.SerializeToCsv(data);

        return csvStr;
  }

1 Ответ

0 голосов
/ 28 мая 2018

Это сериализация по умолчанию TimeSpan, в которой используется формат продолжительности XSD , например, 19 часов = PT19H, то есть период 19 часов.

Вы можете изменить формат сериализациис:

JsConfig.TimeSpanHandler = TimeSpanHandler.StandardFormat;
...