【问题标题】:How to use JSON.NET to serialize an array of objects如何使用 JSON.NET 序列化对象数组
【发布时间】:2014-06-01 07:32:03
【问题描述】:

我记得我的一个朋友告诉我,我可以将任何东西放入 JSON.NET 并将它们序列化为 JSON 格式。

    public string GetRecords(string apiKey, DateTime start, DateTime end)
    {
        var user = db.Users.SingleOrDefault(u => u.Id == apiKey);

        if (user == null)
        {
            return string.Empty;
        }

        var records = db.Histories.Where(h => h.Date >= start && h.Date <= end);

        JavaScriptSerializer s = new JavaScriptSerializer();

        return JsonConvert.SerializeObject(records);
    }

但现在我遇到了一个异常:

已经有一个打开的 DataReader 与此命令关联 必须先关闭。

我能做些什么来解决这个问题?

【问题讨论】:

    标签: asp.net json json.net


    【解决方案1】:

    在记录上调用.ToList(),然后将其传递给JsonConvert.SerializeObject

    【讨论】:

      【解决方案2】:

      您可能没有在配置文件中启用多个活动结果集 (MARS)。

      关注link

      基本需要添加

      "MultipleActiveResultSets=True"
      

      或者您可以按照 3dd 的建议进行预加载

      更多帮助在这里There is already an open DataReader associated with this Command which must be closed first

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-08-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-08
        • 2021-03-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多