【发布时间】:2016-09-12 08:42:07
【问题描述】:
我需要使用ASP.NET Core 将Microsoft.AspNet.Mvc.Controller.JsonResult 转换为字符串
这是我在 ASP.NET MVC 中的代码
public async Task<string> GetJsonData()
{
//...
var result = GetMyComplexObject();
//using Newtonsoft.Json.JsonConvert method
var jsonString = JsonConvert.SerializeObject(Json(result));
return jsonString;
}
public async Task<IActionResult> Index()
{
var myViewModel= new MyViewModel();
myViewModel.JsonString = GetJsonData();
return View(myViewModel);
}
public class MyViewModel
{
//...
public string JsonString { get; set; }
}
在我的cshtml中
var dataSet = {@(Model.JsonString))};
但是在生成的源代码中,而不是在引号中的字段,它们是 html 编码的,例如&quot;field1&quot;
除了运行字符串替换之外,没有更简洁的方法将JsonResult 转换为string
【问题讨论】:
-
在调试器中是这样显示的
-
你可以试试 JIL(免责声明这是 SO 制作的工具)github.com/kevin-montrose/Jil
标签: c# json.net asp.net-core asp.net-core-mvc