Contrôler le sérialiseur dans JsonResult aka Json dans ASP.Net MVC?
-
03-07-2019 - |
Question
Existe-t-il un moyen de configurer le sérialiseur JSON utilisé lors du renvoi de JSON via JsonResult dans le contrôleur:
public ActionResult SomeJsonFunction()
{
var x = SomeModelCode.SomeModelFunction();
return Json(x);
}
Il semble que le JavaScriptSerializer soit la valeur par défaut. J'aimerais pouvoir utiliser le DataContractJsonSerializer, mais je ne trouve aucune documentation sur la façon de procéder.
La solution
Vérifiez la source pour voir comment JsonResult est implémenté. Dérivez d'ActionResult avec votre implémentation DataContractJsonSerializer. À l'heure actuelle, il ne sera pas facile d'utiliser la méthode d'assistance Json (), mais vous pouvez créer votre propre méthode d'assistance dans un contrôleur de super-type de couche. Votre nouvelle méthode d'assistance renverrait votre nouvelle dérivation ActionResult.