Json.Net和ActionResult

时间:2014-02-21 15:48:16

标签: c# asp.net-mvc json json.net

我自己构建一个JObject并希望将其作为ActionResult返回。我不想创建然后序列化数据对象

例如

public ActionResult Test(string id)
{
      var res = new JObject();
      JArray array = new JArray();
      array.Add("Manual text");
      array.Add(new DateTime(2000, 5, 23));
      res["id"] = 1;
      res["result"] = array;
      return Json(res); //???????
}

2 个答案:

答案 0 :(得分:36)

你应该能够在你的行动方法中做到这一点:

return Content( res.ToString(), "application/json" );

答案 1 :(得分:4)

如果你负责JSON格式化,只需要return JSON Formatted string

public string Test(string id)
{
      var res = new JObject();
      JArray array = new JArray();
      array.Add("Manual text");
      array.Add(new DateTime(2000, 5, 23));
      res["id"] = 1;
      res["result"] = array;
      return YourJSONSerializedString;
}

否则使用内置JsonResult(ActionResult)

    public JsonResult Test(string id)
    {

          return Json(objectToConvert);
    }