Heim >Backend-Entwicklung >C++ >Wie kann ich die DateTime-Deserialisierung in Json.NET deaktivieren?
Deaktivieren der DateTime-Deserialisierung in Json.NET
Stellen Sie sich das folgende Szenario vor:
<br>using Newtonsoft.Json;<br>verwendet Newtonsoft.Json.Linq;</p> <p>Klassenprogramm<br>{</p> <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 } }
}
Standardmäßig deserialisiert Json.NET Datumsangaben in JSON-Strings in DateTime-Objekte. In einigen Fällen möchten Sie dieses Verhalten jedoch möglicherweise deaktivieren und stattdessen die Rohdatumszeichenfolge beibehalten. Um dies zu erreichen, können Sie die folgenden Optionen verwenden:
Durch Deaktivieren der Datumsdeserialisierung können Sie das ursprüngliche Format der Datumszeichenfolgen in Ihrem JSON beibehalten Daten.
Das obige ist der detaillierte Inhalt vonWie kann ich die DateTime-Deserialisierung in Json.NET deaktivieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!