1. ホーム
  2. c#

[解決済み] ASP.Net CoreでのJSONシリアライズ/デシリアライズ

2022-05-11 12:02:56

質問

には JavaScriptSerializer がないので、これを処理するためにどのようなネイティブの実装を使用することができますか?

私は JsonResult で、これでJSONにデータをフォーマットできるのですが、デシリアライズはどうすればいいのでしょうか?

または、私はいくつかの依存性を見逃している可能性があります project.json ?

どのように解決するのですか?

この場合 Newtonsoft.Json の依存関係です。 Microsoft.AspNet.Mvc.ModelBinding の依存関係であり Microsoft.AspNet.Mvc . そのため、project.jsonに依存関係を追加する必要はありません。

#using Newtonsoft.Json
....
JsonConvert.DeserializeObject(json);

WebAPIコントローラを使えば、JSONを扱う必要がないことに注意してください。

ASP.Net Core 3.0 を更新しました。

Json.NET は ASP.NET Core 3.0 の共有フレームワークから削除されました。

新しい JSON シリアライザー レイヤーの上に、高性能な Utf8JsonReaderUtf8JsonWriter . JSONからオブジェクトをデシリアライズし、JSONにオブジェクトをシリアライズします。メモリの割り当ては最小限に抑えられ、StreamによるJSONの非同期読み書きもサポートされています。

始めるには JsonSerializer クラスで System.Text.Json.Serialization という名前空間があります。を参照してください。 のドキュメントを参照してください。 を参照してください。

ASP.NET Core 3.0プロジェクトでJson.NETを使用するには。

    services.AddMvc()
        .AddNewtonsoftJson();

読む Json.NETのサポート ASP.NET Core 2.2 から 3.0 Preview 2 への移行について を参照してください。