58 votes

Puis-je convertir une chaîne JSON en JsonResult ?

J'ai quelques chaînes JSON stockées dans la base de données que je veux retourner au client en tant que JsonResult . Je sais que Json(object) transforme un objet en JsonResult mais que se passe-t-il si le résultat est déjà une chaîne de caractères ? Puis-je le transformer en JsonResult ?

124voto

Erv Walter Points 6756

Vous ne voulez pas retourner un JsonResult parce que son travail consiste à sérialiser un fichier objet en chaîne JSON. Vous avez déjà la chaîne JSON, il suffit donc de la renvoyer dans un ContentResult et de spécifier le type de contenu correct :

string json = //get some json from your DB
return new ContentResult { Content = json, ContentType = "application/json" };

Rappelez-vous que vos méthodes d'action MVC devraient toutes avoir ActionResult comme type de retour, de sorte que vous pouvez retourner ContentResult aussi facilement que JsonResult .

5voto

ntziolis Points 7360

Vous pourriez renvoyer la chaîne de caractères au client, puis utiliser la fonction $.parseJSON() (jquery) pour l'analyser en un objet json réel.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X