En PHP para devolver parte de JSON que haría:Volver JSON usando C# como PHP json_encode
return json_encode(array('param1'=>'data1','param2'=>'data2'));
cómo hago el equivalente en C# ASP.NET MVC3 en la forma más sencilla?
En PHP para devolver parte de JSON que haría:Volver JSON usando C# como PHP json_encode
return json_encode(array('param1'=>'data1','param2'=>'data2'));
cómo hago el equivalente en C# ASP.NET MVC3 en la forma más sencilla?
Puede usar la clase JavaScriptSerializer que está incorporada en el marco. Por ejemplo:
var serializer = new JavaScriptSerializer();
string json = serializer.Serialize(new { param1 = "data1", param2 = "data2" });
rendimientos:
{"param1":"data1","param2":"data2"}
Pero ya que usted habló de volver JSON en ASP.NET MVC 3 ya hay técnicas incorporadas que le permiten volver directamente objetos y tienen el subyacente la infraestructura se encarga de serializar este objeto en JSON para evitar contaminar su código con tales plomería.
Por ejemplo en ASP.NET MVC 3, se escribe una acción de controlador de devolver un 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);
}
usted ya no tendrá que preocuparse de fontanería. En ASP.NET MVC tiene acciones de controlador que devuelven resultados de acción y pasa modelos de vista a esos resultados de acción. En el caso de JsonResult es la infraestructura subyacente la que se encargará de serializar el modelo de vista que pasó a una cadena JSON y, además de eso, establecerá correctamente el encabezado de respuesta Content-Type
en application/json
.
¿Qué hay de http://www.json.org/ (vea la lista C#)?
siempre uso JSON .Net: http://json.codeplex.com/ y la documentación: http://james.newtonking.com/projects/json/help/
La forma más sencilla puede ser la siguiente:
public JsonResult GetData()
{
var myList = new List<MyType>();
//populate the list
return Json(myList);
}
Mira que IE es bastante agresivo en cuanto a las solicitudes GET de almacenamiento en caché. Por lo general, se requerirá un atributo '[OutputCache]'. – jgauffin