我试图使用以下代码覆盖默认的DateTime序列化:
JsConfig<DateTime>.SerializeFn = d =>
{
return d.ToString("o") + "Z";
};
JsConfig<DateTime>.RawSerializeFn = d =>
{
return d.ToString("o") + "Z";
};
(不确定SerializeFn和RawSerializeFn之间的差异,所以我试图确保...我也尝试实现DeserializeFn以防它们都需要被覆盖,但看到了一些结果)
无论如何......每当我尝试这个时,我们的DTO中的任何日期成员都会在元数据页面上的示例请求/响应JSON中丢失。 (尽管日期成员仍显示在“参数”部分中)。
我正在使用SS v4.0.40.0
PS:我后来意识到我的整个目标是追加&#34; Z&#34;使用此配置可以完成所有DateTime: JsConfig.DateHandler = DateHandler.ISO8601;
JsConfig.AssumeUtc = true;
JsConfig.AppendUtcOffset = false;
但我仍想提交此错误 - 谢谢!
答案 0 :(得分:0)
variables = ['[ITEM1]', '[END]', '[ITEM3]', '[END]']
items = ['banana', 'peach', 'apple', 'orange', 'grapes', 'tennis', 'bowling']
序列化无法单独更改,如果您将序列化转换为不受支持的自定义格式,则还需要使用相应的DateTime
配置对其进行反序列化。
您还可以通过注册ParseError回调来处理解析未知RawDeserializeFn/DeserializeFn
格式,即:
DateTime
如果您想向任何ServiceStack库提出问题,请升级到最新版本的ServiceStack以确保它仍然是一个问题,如果是,请将其提交给github.com/ServiceStack/Issues,并提供示例代码/失败的测试,以便重现这个问题。