如何使用 Json.net 序列化数据



我想将数据转换为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 是关于序列化的,所以这里的格式是字符串,如果你需要访问带有"."的字段,你需要将其反序列化为对象

相关内容

  • 没有找到相关文章

最新更新