【发布时间】:2011-11-14 23:39:19
【问题描述】:
如何在 MVC 项目中使用 Json.Net 返回未转义的 Json?
到目前为止,我序列化了一个基本对象,并让 Json.Net 对其进行序列化:
public JsonResult GetTimelineJson()
{
var result = new MyGraph([some data...]);
return Json(JsonConvert.SerializeObject(result), JsonRequestBehavior.AllowGet);
}
结果:
"{\r\n \"id\": \"myGraph\",\r\n \"title\": \"Graph title\",\r\n [...]
任何将其包装为 HtmlString 等的尝试都会导致通过线路传递一个空集(尽管调试点显示它正确地未转义)。我检查了 HTTP 标头中的内容类型设置是否正确。
【问题讨论】:
-
为什么要发送 JSON 序列化字符串作为 JSON 结果?要么直接使用带有 JSON 方法的模型(不需要 JSON.Net),要么使用带有正确 MIME 类型的
Content()返回您的序列化对象。 -
我来这里是为了寻找从 Web API 方法返回的 Json 格式的结果,经过一番搜寻,我终于得到了预期的结果。看我的回答here。
标签: c# asp.net-mvc json json.net