2009-08-04 9 views
2

J'ai:FormCollection Convertir JSON

Function SaveAnswers(ByVal collection As FormCollection) As ActionResult 

End Funciton 

Et je veux tourner la collection à JSON, je pensais qu'il y avait un sérialiseur pour le faire, mais ne peux pas sembler trouver?

Répondre

1

Il y a. En C#:

return Json(object/array/whatever); 

Il retourne un JsonResult, qui est un ActionResult, il « entrant » dans votre fonction telle qu'elle existe déjà.

James

10

Sérialisation un objet FormCollection ne fonctionne pas pour moi, les clés sérialisé, mais les valeurs ne l'ont pas. Je voulais utiliser un moyen facile d '«enregistrer» les valeurs de FormCollection à réutiliser dans les cas de test. À cette fin, j'ai créé une méthode d'extension:

public static string ToJSON(this System.Web.Mvc.FormCollection collection) 
{ 
    var list = new Dictionary<string, string>(); 
    foreach (string key in collection.Keys) 
    {     
     list.Add(key, collection[key]); 
    } 
    return new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(list); 
} 
Questions connexes