Json.NET での DateTime 逆シリアル化の無効化
次のシナリオを考えてみましょう:
<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.NET で DateTime 逆シリアル化を無効にするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。