我想将数据转换为json。我也想使用 JSON.NET,因为我正在研究 ASP.net MVC。我已经在使用JSON JavaScriptSerializer进行序列化期间跟踪了这两个链接错误。和最快的 .NET JSON 序列化程序发布,但我还不能这样做。我有一个调用类方法的操作。此方法必须返回 JSON。因此,首先如何序列化数据以及它应该是什么类型的返回。这是我首先是操作的代码片段,然后是 Json 类和方法。
最重要的是,我不希望将 Json 作为字符串,因为我希望能够使用"." 访问其中的字段。
public ActionResult HighChartAction(int id)
{
JsonModel j = new JsonModel();
??? chartData = j.GetMessagesforChart(id); // What should be the type of chartData for JSON data
}
----------------------
public class JsonModel
{
public JsonResult GetMessagesforChart(int id)
{
DataRepository _messageRepository = new DataRepository();
var gluc = _messageRepository.GetAllMessages(id);
var json = JsonConvert.SerializeObject(gluc); // THIS IS A STRING
return json; // ERROR BECAUSE I WANT IT A JSONRESULT NOT STRING
}
}
---------------------
namespace MonitorUI.Models
{
public class DataBase
{
public int id { get; set; }
public DateTime date_time { get; set; }
public int my_value{ get; set; }
}
}
所以var gluc的类型是IEnumerable(DataBase)
相关的继续问题: 如何填写 HighChart 的系列和 xAxis 对象的数据库列表
请帮忙
你的函数:
public JsonResult GetMessagesforChart(int id)
{
DataRepository _messageRepository = new DataRepository();
var gluc = _messageRepository.GetAllMessages(id);
var json = JsonConvert.SerializeObject(gluc); // THIS IS A STRING
return json; // ERROR BECAUSE I WANT IT A JSONRESULT NOT STRING
}
使用此功能更新:
public JsonResult GetMessagesforChart(int id)
{
DataRepository _messageRepository = new DataRepository();
DataBase gluc = _messageRepository.GetAllMessages(id);
return JsonConvert.SerializeObject(gluc);
}
要返回 JsonResult,您可以简单地使用 Json() 包装对象,如下所示
public JsonResult GetMessagesforChart(int id)
{
DataRepository _messageRepository = new DataRepository();
var gluc = _messageRepository.GetAllMessages(id);
return Json(gluc);
}
Json 是关于序列化的,所以这里的格式是字符串,如果你需要访问带有"."的字段,你需要将其反序列化为对象