繁体   English   中英

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

[英]How can I serialize my data using 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与序列化有关,因此此处的格式为字符串,如果您需要使用“。”访问字段,则需要将其反序列化为对象

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM