Beim Parsen von JSON in ein JObject mithilfe von JObject.Parse kann es vorkommen, dass Sie die rohe Zeichenfolgendarstellung beibehalten möchten einen Datumswert, anstatt ihn in ein DateTime-Objekt konvertieren zu lassen.
Um dies zu erreichen, bietet JObject.Parse keine direkte Unterstützung zum Festlegen von Deserialisierungsoptionen. Sie können jedoch eine Problemumgehung verwenden, indem Sie einen JsonReader mit den gewünschten Einstellungen erstellen.
using (JsonReader reader = new JsonTextReader(new StringReader(j1.ToString()))) { reader.DateParseHandling = DateParseHandling.None; JObject o = JObject.Load(reader); }
In diesem Code wird ein JsonTextReader erstellt und seine DateParseHandling-Eigenschaft wird auf „None“ gesetzt, was angibt, dass keine Datumsanalyse erfolgen sollte geschehen. Dieser JsonReader wird dann als Eingabe für JObject.Load verwendet, das den JSON gemäß den bereitgestellten Einstellungen analysiert. Das resultierende JObject, o, enthält die Rohzeichenfolgendarstellung des Datumswerts.
Mit diesem Ansatz können Sie die automatische Datumsdeserialisierung deaktivieren und den Rohzeichenfolgenwert wie gewünscht erhalten.
Das obige ist der detaillierte Inhalt vonWie verhindert man die Deserialisierung von DateTime beim Parsen von JSON mit Json.NET?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!