web-dev-qa-db-ja.com

JavaScriptSerializerは.netコアプロジェクトでは許可されていませんか?

私は.netコアプロジェクトで働いています。 JavaScriptSerializerを使用してオブジェクトをシリアル化したいのですが。

JavaScriptSerializer Serializer = new JavaScriptSerializer();

名前空間using System.Web.Script.Serialization;を追加しました。エラーが発生します。私はググった。一部のサイトでは.netコアプロジェクトのSystem.Web.Script.Serialization;がないように見えました。

JavaScriptSerializerのような.netコアのオブジェクトをシリアル化する別の方法はありますか?

.netコアでは、Newtonsoft.Jsonを使用してオブジェクト(JSON)をシリアル化および逆シリアル化する最も一般的な方法。

Newtonsoft.Json のNugetパッケージをインストールする必要があります

次のようなステートメントを使用して追加します。

using Newtonsoft.Json;

そしてそれを次のように使用します:

object o = JsonConvert.DeserializeObject(json1);
string json2 = JsonConvert.SerializeObject(o, Formatting.Indented);
16
Michael Ceber

Newtonsoft.Jsonをインストールしてから

コントローラ内:

string data = JsonConvert.SerializeObject(new { MyUser = user, MyId = id });
object dataObj = JsonConvert.DeserializeObject(data);
return Json(dataObj);

そしてJavaScriptファイルで:

$.ajax({
   // some codes!
   success: function(data){
      var user = data.MyUser;
      var id = data.MyId
   }
});