web-dev-qa-db-fra.com

JavaScriptSerializer n'est pas autorisé dans le projet principal .net?

Je travaille dans le projet de base .net. Je veux sérialiser les objets à l'aide de JavaScriptSerializer.

JavaScriptSerializer Serializer = new JavaScriptSerializer();

J'ai ajouté l'espace de noms using System.Web.Script.Serialization;. Cela génère des erreurs. Je l'ai googlé. J'ai vu que le projet de base .net n'a pas System.Web.Script.Serialization; sur certains sites.

Existe-t-il un autre moyen de sérialiser les objets dans le noyau .net comme JavaScriptSerializer?

12

Dans .net core, la manière la plus courante de sérialiser et de désérialiser des objets (JSON) à l'aide de Newtonsoft.Json.

Vous devez installer le package Nuget de Newtonsoft.Json

ajouter en utilisant une instruction comme:

using Newtonsoft.Json;

et l'utiliser comme:

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

Installez Newtonsoft.Json puis

dans le contrôleur:

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

et dans le fichier Javascript:

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