ServiceStack.Text和ISODate(“”)

时间:2013-04-13 21:44:23

标签: c# json deserialization servicestack

为什么ServiceStack.Text DeserializeFromString无法转换ISODate格式。

例如,我有像

这样的json字符串
{ "Count" : 4, "Type" : 1, "Date" : ISODate("2013-04-12T00:00:00Z") }

和班级

public class TestClass
{
    public int Count { get; set; }
    public int Type { get; set; }
    public DateTime Date { get; set; }
}

当我尝试从字符串

反序列化时
JsonSerializer.DeserializeFromString<TestClass>(json);

给我输出像 enter image description here

2 个答案:

答案 0 :(得分:19)

ServiceStack.Text也理解ISO8601。

您可以将其配置为默认行为:

JsConfig.DateHandler = JsonDateHandler.ISO8601;

有关详细信息,请参阅this answer

答案 1 :(得分:1)

JSON期望日期格式如下

"LastRequestTime":"\/Date(928129800000+0530)\/"

因此,请在Json字符串中更改日期值,然后尝试。它会正确地反转该财产。