在 Json.NET 中禁用日期时间反序列化
考虑以下场景:
<br>使用Newtonsoft.Json;<br>使用Newtonsoft.Json.Linq;</p> <p>class Program<br>{</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">static void Main(string[] args) { // Convert an object to a JObject, specifying DateParseHandling.None string s = "2012-08-08T01:54:45.3042880+00:00"; JObject j1 = JObject.FromObject(new { time = s }, new JsonSerializer { DateParseHandling = DateParseHandling.None }); // Convert the JObject back to a string string j1String = j1.ToString(); // Parse the string back into a JObject JObject j2 = JObject.Parse(j1String); // Check the type and value of the "time" property in j2 object o2 = j2["time"]; if (o2 is DateTime) { // Date deserialization was enabled: "time" is a DateTime } else { // Date deserialization was disabled: "time" is a raw string } }
}
默认情况下,Json.NET 会反序列化JSON 字符串中的日期转换为 DateTime 对象。但是,在某些情况下,您可能希望禁用此行为并保留原始日期字符串。为此,您可以使用以下选项:
通过禁用日期反序列化,您可以保持 JSON 中日期字符串的原始格式数据。
以上是如何禁用 Json.NET 中的日期时间反序列化?的详细内容。更多信息请关注PHP中文网其他相关文章!