私は.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);
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
}
});