我想从JSON流中解析DateTime
。
日期的模式为YYYY/MM/DD
。
如何在Serializer的设置或使用DateParseHandling设置此自定义格式?
答案 0 :(得分:1)
只需将DateFormatString
上的JsonSerializer
设置为您需要的格式即可。 Json.Net使用与.NET框架相同的format specifiers。
以下是一个例子:
class Program
{
static void Main(string[] args)
{
string json = @"{ ""date"" : ""2014/10/07"" }";
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))
using (StreamReader sr = new StreamReader(ms))
using (JsonTextReader jtr = new JsonTextReader(sr))
{
JsonSerializer ser = new JsonSerializer();
ser.DateFormatString = "yyyy/MM/dd";
Foo foo = ser.Deserialize<Foo>(jtr);
Console.WriteLine(foo.Date.ToLongDateString());
}
}
}
class Foo
{
public DateTime Date { get; set; }
}
示例输出:
Tuesday, October 07, 2014