Json datetime包含时间开始的T

Eld*_*dho 0 c# datetime json asp.net-web-api

为什么我的Json DateTime值在时间之前有T.

  1. 是因为数据类型是dateTime吗?
  2. 我可以在不更改数据类型的情况下删除T.


 {
   "code": "Code",
   "date": "2018-05-02T20:02:24" //T
 },
Run Code Online (Sandbox Code Playgroud)

我的Web API中的代码

public IEnumerable<Result> MethodName()
{
   var result = (from x in Context.Tabl1
                 select new Result
                 {
                   Code = x.Code,
                   Date = x.Date,// I dont want to apply ToString(format)
                 }).ToArray();
}
Run Code Online (Sandbox Code Playgroud)

预期结果

 {
    "code": "Code",
    "date": "2018-05-02 20:02:24" //Without T
  },
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 8

为什么我的Json DateTime值在时间之前有T.

因为这就是ISO-8601所说的.ISO-8601中有各种日期/时间值选项,但它们都使用"T"来分隔日期部分和时间部分.ISO-8601可能是机器可读日期和时间表示作为文本的最常用格式.

机器可读部分在这里很重要.JSON是一种机器可读的格式,也是一种合理的人类可读格式,如XML.它不是一种非开发人员直接使用的格式.相反,表示层(UI,报告生成器,无论它是什么)旨在以最合适的表示形式为用户格式化基础数据("日期和时间").这可能使用am/pm指示符,月份名称,特定文化格式等 - 所有这些都有利于人类消费,但会使机器消费更加困难.

我强烈建议你不要在这里放弃ISO-8601.这是JSON最合适的表示.