68

I have some stored JSON strings stored in the DB which I want to return to the client as JsonResult . I know that Json(object) turns an object into JsonResult but what if I already have the result in a string ? can I cast it to JsonResult

xantrus
  • 1,975
  • 1
  • 22
  • 44

1 Answers1

140

You don't need to return a JsonResult because its job is to serialize an object into JSON string. You already have the JSON string, so just return it in a ContentResult and specify the correct content type:

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

Remember that your MVC action methods should all have ActionResult as a return type, so you can return ContentResult just as easily as JsonResult.

Community
  • 1
  • 1
Erv Walter
  • 13,737
  • 8
  • 44
  • 57
  • 27
    There is also a `Content` method similar to the `Json` method, so you can write `return Content(json, "application/json");`. – Kylar Sep 21 '12 at 23:45