我有如下所示的 JSON 数据,当我读取 DateTime 标记时,它会在内部转换为 {2/11/2022 6:56:17 AM}。我需要以字符串格式读取数据,与 JSON 中可用的数据相同
代码片段:
JObject jsonObject = JObject.Parse(jsonText);
var dateTime = jsonObject["LastModified"]["DateTime"]; // output = {2/11/2022 6:56:17 AM}, but i need "2022-02-11T06:56:17.143Z".
Run Code Online (Sandbox Code Playgroud)
{"LastModified": {
"Username": "Philips Administrator",
"DateTime": "2022-02-11T06:56:17.143Z"
}
}
Run Code Online (Sandbox Code Playgroud)
正如其他人指出的,日期时间没有格式。当您将其转换为字符串时,您可以根据需要设置其格式。如果你真的真的想把它当作一个字符串,你可以按照 Jon Skeet 的建议去做:
var jsonText = @"{""LastModified"": {
""Username"": ""Philips Administrator"",
""DateTime"": ""2022-02-11T06:56:17.143Z""
}
}";
var settings = new JsonSerializerSettings
{
DateParseHandling = DateParseHandling.None
};
JObject jsonObject = (JObject)JsonConvert.DeserializeObject(jsonText, settings);
var dateTime = jsonObject["LastModified"]["DateTime"];
Run Code Online (Sandbox Code Playgroud)
它还适用于“公元 932 年,午餐时间前一点”之类的日期。