我正在尝试返回一个JObject,因为我的动作结果。我使用Newtonsoft.Json
和JsonNetResult将对象转换为JsonResult。
对于普通对象,我使用此语法将对象序列化为JsonResult:
return new JsonResult
{
ContentType = "application/json",
ContentEncoding = System.Text.Encoding.UTF8,
Data = myResult,
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
哪个myResult
是所需对象的实例,但是如下所示为JObject(Newtonsoft.Json.Linq.JObject
)执行此操作会返回无效结果,即[[[]]]
:
JObject jsonObject = new JObject();
jsonObject["error"] = "invalid_id";
return new JsonResult
{
ContentType = "application/json",
ContentEncoding = System.Text.Encoding.UTF8,
Data = jsonObject,
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
在这种情况下如何序列化JObject?
答案 0 :(得分:0)
您可以尝试:
public JsonObject GetJson_1()
{
var errors = new Dictionary<string, string>();
errors.Add("Id", "invalid");
return new JsonObject(errors);
}
public ActionResult GetJson_2()
{
var errors = new List<object>();
errors.Add(new { Id = "invalid" });
return Json(errors, JsonRequestBehavior.AllowGet);
}
希望这有帮助!