Json.Net和ActionResult

Nea*_*erd 23 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); //???????
}
Run Code Online (Sandbox Code Playgroud)

Cra*_* W. 38

您应该只能在您的操作方法中执行此操作:

return Content( res.ToString(), "application/json" );
Run Code Online (Sandbox Code Playgroud)


Mur*_*san 5

以防万一,如果您照顾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;
}
Run Code Online (Sandbox Code Playgroud)

else使用内置的JsonResult(ActionResult)

    public JsonResult Test(string id)
    {

          return Json(objectToConvert);
    }
Run Code Online (Sandbox Code Playgroud)