使用类似于PHP JSON_编码的C#返回JSON
在PHP中,要返回一些JSON,我将执行以下操作:使用类似于PHP JSON_编码的C#返回JSON,c#,php,json,asp.net-mvc-3,C#,Php,Json,Asp.net Mvc 3,在PHP中,要返回一些JSON,我将执行以下操作: 返回json_编码(数组('param1'=>'data1','param2'=>'data2') 如何以最简单的方式在C#ASP.NET MVC3中实现等效功能?您可以使用框架中内置的类。例如: var serializer = new JavaScriptSerializer(); string json = serializer.Serialize(new { param1 = "data1", param2 = "data2" });
返回json_编码(数组('param1'=>'data1','param2'=>'data2')代码>
如何以最简单的方式在C#ASP.NET MVC3中实现等效功能?您可以使用框架中内置的类。例如:
var serializer = new JavaScriptSerializer();
string json = serializer.Serialize(new { param1 = "data1", param2 = "data2" });
收益率:
{"param1":"data1","param2":"data2"}
但是,自从您在ASP.NET MVC 3中谈到返回JSON以来,就已经有了一些内置技术,允许您直接返回对象,并让底层基础设施负责将该对象序列化为JSON,以避免此类管道污染代码
例如,在ASP.NET MVC 3中,您只需编写一个控制器操作,返回一个JsonResult
:
public ActionResult Foo()
{
// it's an anonymous object but you could have used just any
// view model as you like
var model = new { param1 = "data1", param2 = "data2" };
return Json(model, JsonRequestBehavior.AllowGet);
}
你不必再担心管道问题了。在ASP.NET MVC中,您拥有返回操作结果的控制器操作,并将视图模型传递给这些操作结果。在JsonResult的情况下,底层基础设施将负责序列化传递给JSON字符串的视图模型,除此之外,还将内容类型响应头正确设置为应用程序/JSON
怎么样(请参见C#list)?我总是使用JSON.Net:
文档:最简单的方式可能是:
public JsonResult GetData()
{
var myList = new List<MyType>();
//populate the list
return Json(myList);
}
public JsonResult GetData()
{
var myList=新列表();
//填充列表
返回Json(myList);
}
请注意,IE在缓存GET请求方面非常激进。通常需要[OutputCache]
属性。