Unerwarteter Zeichenfehler in Json.NET
Beim Parsen von JSON-Daten mit Json.NET kann die Fehlermeldung auftreten:
"Unerwartetes Zeichen beim Parsen des Werts gefunden: e. Pfad '', Zeile 0, Position 0."
Erklärung
Dieser Fehler tritt normalerweise auf, wenn die analysierte JSON-Zeichenfolge nicht wohlgeformt ist oder ungültige Zeichen enthält. Der Fehlermeldung zufolge tritt das Problem am Anfang der JSON-Zeichenfolge auf.
Json.NET-Verwendung
Ihr Code deutet darauf hin, dass Sie eine serialisieren und deserialisieren Objekt vom Typ ViewerStatsFormat. Der Serialisierungsprozess mit JsonConvert.SerializeObject funktioniert ordnungsgemäß und die von Ihnen freigegebene JSON-Datei scheint gültig zu sein.
Deserialisierungsproblem
Das Problem tritt jedoch auf, wenn Sie es versuchen um die JSON-Datei mithilfe von JsonConvert.DeserializeObject wieder in das ViewerStatsFormat-Objekt zu deserialisieren. Es scheint, dass der Dateipfad an DeserializeObject und nicht an die JSON-Zeichenfolge selbst übergeben wird.
Lösung
Um dieses Problem zu beheben, stellen Sie sicher, dass Sie den tatsächlichen JSON übergeben string an DeserializeObject anstelle des Dateipfads. Hier ist der korrigierte Teil Ihres Codes:
try { string json = File.ReadAllText(tmpfile); ViewerStatsFormat current = JsonConvert.DeserializeObject<ViewerStatsFormat>(json); // other stuff } catch(Exception ex) { // error logging stuff }
Indem Sie die JSON-Datei in einen String einlesen und an DeserializeObject übergeben, sollten Sie den Fehler „Unerwartetes Zeichen beim Parsen des Werts aufgetreten“ beheben.
Das obige ist der detaillierte Inhalt vonWarum gibt Json.NET beim Deserialisieren einen „Unerwartetes Zeichen'-Fehler aus und wie kann ich ihn beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!