2010-04-21 18 views
50

Tengo algunas cadenas JSON almacenadas almacenadas en el DB que quiero devolver al cliente como JsonResult. Sé que Json (objeto) convierte un objeto en JsonResult, pero ¿qué sucede si ya tengo el resultado en una cadena? puedo lanzarlo a JsonResult¿Puedo convertir una cadena JSON en JsonResult?

Respuesta

6

Puede devolver la cadena al cliente y luego usar $ .parseJSON() (jquery) para analizarlo en un objeto json real.

109

No necesita devolver JsonResult porque su trabajo es serializar un objeto en una cadena JSON. Ya tiene la cadena JSON, por lo que apenas la vuelve en un ContentResult y especifique el tipo correcto de contenido:

string json = //get some json from your DB 
return new ContentResult { Content = json, ContentType = "application/json" }; 

Recuerde que sus métodos de acción MVC deberían tener ActionResult como un tipo de retorno, para que pueda volver ContentResult tan fácilmente como JsonResult.

+22

También hay un método 'Content' similar al método' Json', por lo que puede escribir 'return Content (json," application/json ");'. – Kylar

+0

@Kylar buen punto –

Cuestiones relacionadas