web-dev-qa-db-ja.com

ASP.NET CoreでのJSONシリアライゼーション/デシリアライゼーション

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

JsonResultに気付いたので、これでJSONにデータをフォーマットできますが、どのようにしてデシリアライズするのですか?

それともproject.jsonにいくつかの依存関係がありませんか?

92

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

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

WebAPIコントローラを使用すれば、JSONを処理する必要はありません。

アップデートASP.Netコア3.0プレビュー

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

高性能のUtf8JsonReaderおよびUtf8JsonWriterの上に新しいJSONシリアライザ層を使用できます。オブジェクトをJSONからデシリアライズし、オブジェクトをJSONにシリアライズします。メモリ割り当ては最小限に抑えられ、StreamによるJSONの非同期での読み書きのサポートが含まれています。

はじめに、System.Text.Json.Serialization名前空間のJsonSerializerクラスを使用します。情報とサンプルについては ドキュメント を参照してください。この機能セットは現在将来のプレビュー用に拡張されています。

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

    services.AddMvc()
        .AddNewtonsoftJson();

のJson.NETサポートで読むASP.NET Core 2.2から3.0 Preview 2への移行 詳細情報

176
agua from mars