如何在MVC4中将Json字符串输出为JsonResult

本文关键字:字符串 输出 JsonResult Json 中将 MVC4 | 更新日期: 2023-09-27 18:28:45

这看起来很简单,我一定想得太多了。

TL;DR

如何修改下面的代码以返回字符串中包含的json对象,而不是恰好包含json的字符串?

public ActionResult Test()
{
  var json_string = "{ success: '"true'" }";
  return Json(json_string, JsonRequestBehavior.AllowGet);
}

此代码返回一个字符串文字,其中包含json:

"{ success: "true" }"

但是,我希望它返回字符串中包含的json:

{ success: "true" }

稍长的版本

我正在尝试快速原型化一些外部api调用,现在只想将这些结果作为假响应通过我的"api"传递。json对象是非平凡的——大约有10000行或90KB。我不想为这个json响应的所有内容创建一个强类型对象,这样我就可以通过反序列化程序运行它——所以这就不可能了。

所以我的控制器中的基本逻辑是:

  1. 调用externall api
  2. 将web请求的字符串结果存储到var中(请参阅上面的json_string)
  3. 使用JsonResult生成方法json()将这些结果输出为json(而不是字符串)

非常感谢您的帮助。。。思想正在融化。

如何在MVC4中将Json字符串输出为JsonResult

Json()辅助方法的全部目的是序列化为JSON。

如果你想返回原始内容,直接这样做:

return Content(jsonString, "application/json");
public ActionResult Test()
{
  return Json(new { success = true }, JsonRequestBehavior.AllowGet);
}