Désactivation de la désérialisation DateTime dans Json.NET
Considérez le scénario suivant :
<br>utilisation Newtonsoft.Json ;<br>en utilisant Newtonsoft.Json.Linq;</p> <p>Programme de classe<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 } }
}
Par défaut, Json.NET désérialise dates dans les chaînes JSON en objets DateTime. Cependant, dans certains cas, vous souhaiterez peut-être désactiver ce comportement et conserver la chaîne de date brute. Pour y parvenir, vous pouvez utiliser les options suivantes :
En désactivant la désérialisation de la date, vous pouvez conserver le format d'origine. de chaînes de date dans vos données JSON.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!