我可以将JSON字符串转换为JsonResult吗?

xan*_*rus 58 asp.net asp.net-mvc json jsonresult

我有一些存储在DB中的存储JSON字符串,我想以JsonResult的形式返回给客户端.我知道Json(对象)将一个对象变成JsonResult但是如果我已经将结果放在一个字符串中呢?我可以把它投射到JsonResult

Erv*_*ter 123

您不需要返回a,JsonResult因为它的作用是将对象序列化为JSON字符串.您已经拥有JSON字符串,因此只需在ContentResult中返回它并指定正确的内容类型:

string json = //get some json from your DB
return new ContentResult { Content = json, ContentType = "application/json" };
Run Code Online (Sandbox Code Playgroud)

请记住,您的MVC操作方法应该都具有ActionResult返回类型,因此您可以ContentResult轻松返回JsonResult.

  • 还有一个类似于`Json`方法的`Content`方法,所以你可以编写`return Content(json,"application/json");`. (24认同)

ntz*_*lis 5

您可以将字符串返回给客户端,然后使用$ .parseJSON()(jquery)将其解析为实际的json对象.

  • 您没有回答问题。问题是询问如何在MVC操作中将JSON字符串作为有效的JSON结果对象返回。 (2认同)