2010-11-11 9 views
2

J'utilise le contrôleur MVC pour revenir JSON:C# mvc évasion JSON

public JsonResult Json() 
     { 
      return Json(MyJsonString); 
     } 

Je veux Json à échapper. Est-ce que quelqu'un sait la méthode exacte pour accomplir ceci? Merci

EDIT1: JSON est envoyé pour lecteur vidéo flash

--MB

+1

Cela dépend de ce que vous voulez faire pour cela. Voulez-vous dire que vous voulez qu'il soit échappé, de sorte que vous pouvez le voir sur une page en clair (pour le débogage ou similaire)? –

Répondre

1

Je prends un coup de poignard à ce en fonction de votre échantillon et commentaires, mais est MyJsonString une chaîne qui est déjà JSON encodé? Cela semble être le cas et, par conséquent, il est codé en double.

Si oui, alors vous pouvez avoir plus de chance de retourner l'objet que vous avez utilisé pour créer la chaîne codée JSON, comme:

public virtual ActionResult Json() 
    { 
     var someObject = MethodThatCreatesAnObject(); 
     //or just create it on the fly 
     //var someObject = new { val1 = "value", val2 = "another" }; 
     return Json(someObject); 
    } 

Sinon, vous pouvez créer un contrôle qui a chaîne comme type de modèle et qui n'a pas de contenu, sauf <%: Model %> et vous pourriez faire quelque chose comme:

public virtual ActionResult Json() 
    { 
     return ActionResult("MyJsonControl", MyJsonString); 
    } 

Mais je chercherais vraiment dans l'ancien avant d'aller avec celui-ci.