web-dev-qa-db-fra.com

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

J'ai des chaînes JSON stockées stockées dans la base de données que je veux retourner au client en tant que JsonResult. Je sais que Json (objet) transforme un objet en JsonResult mais que faire si j'ai déjà le résultat dans une chaîne? puis-je le lancer sur JsonResult

57
xantrus

Vous n'avez pas besoin de renvoyer un JsonResult car son travail consiste à sérialiser un objet dans une 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" };

N'oubliez pas que vos méthodes d'action MVC doivent toutes avoir ActionResult comme type de retour, afin que vous puissiez retourner ContentResult aussi facilement que JsonResult.

121
Erv Walter

Vous pouvez renvoyer la chaîne au client, puis utiliser le $. ParseJSON () (jquery) pour l'analyser en un objet json réel.

5
ntziolis