逆シリアル化エラー: Json.NET で「予期しない文字が検出されました」
C# で Json.NET を使用すると、エラーが発生する可能性があります。 「値の解析中に予期しない文字が発生しました。」というメッセージが表示される例外。このエラーは通常、指定された入力が有効な JSON 形式ではないために発生します。
このケースでは、問題は逆シリアル化ステップにあります。このコードは、次の行を使用して、ファイル パスを ViewerStatsFormat オブジェクトに逆シリアル化しようとします。
ただし、JsonConvert.DeserializeObject は、ファイル パスではなく、JSON 文字列を入力として想定します。 tmpfile の値には、ディスク上のファイルへのパスを表す文字列が含まれている可能性がありますが、これは有効な JSON ではありません。
この問題を解決するには、ファイルを文字列に読み取ってから、JsonConvert.DeserializeObject を使用して逆シリアル化する必要があります。
または、File.ReadAllText() 関数を逆シリアル化で直接使用することもできます。 call:
DeserializeObject への入力が有効な JSON であることを確認することで、「予期しない文字が検出されました」エラーを回避できます。
以上がJson.NET が逆シリアル化中に「予期しない文字が検出されました」エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。