将FormCollection转换为JSON

时间:2009-08-04 17:44:34

标签: asp.net-mvc asp.net-ajax

我有:

Function SaveAnswers(ByVal collection As FormCollection) As ActionResult

End Funciton

我想将集合转换为JSON,我认为有一个序列化器可以做到这一点,但似乎无法找到它?

3 个答案:

答案 0 :(得分:11)

序列化FormCollection对象对我来说不起作用,键序列化,但值没有。

我想使用一种简单的方法来“记录”FormCollection值,以便在测试用例中重用。为此,我创建了一个扩展方法:

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);
}

答案 1 :(得分:2)

答案 2 :(得分:1)

有。在c#:

return Json(object/array/whatever);

它返回一个JSONResult,它是一个ActionResult,所以它“适合”你的函数已经存在。

詹姆斯