如何在MVC4中将Json字符串输出为JsonResult?
这似乎很简单,我必须过度思考它。
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对象是非平凡的 – 大约10,000“行”或90KB。 我不想为这个json响应的所有内容创建一个强类型对象,因此我可以通过反序列化器运行它 – 这样就可以了。
所以我控制器的基本逻辑是:
- 调用externall api
- 将Web请求的字符串结果存储到var中(参见上面的json_string)
- 使用JsonResult生成方法Json()将这些结果输出为json(不是字符串)
非常感谢任何帮助……心灵正在融化。
Json()
辅助方法的重点是序列化为JSON。
如果要返回原始内容,请直接执行此操作:
return Content(jsonString, "application/json");
public ActionResult Test() { return Json(new { success = true }, JsonRequestBehavior.AllowGet); }