【问题标题】:Parse LINQ answer in a JSON在 JSON 中解析 LINQ 答案
【发布时间】:2015-11-12 10:29:09
【问题描述】:

我正在使用 ASP.NET Web 服务解决方案。 我使用实体框架连接连接到数据库。 我想返回这样的 JSON:

[{"DIM_FECHA":[201502,201503,201504]}{"FCT_TOTALFACT":[1234567,1234555,1234444]}]

现在,我要进入一个单独的“行”:

[{"DIM_FECHA":201502,"FCT_TOTALFACT":1234567},{"DIM_FECHA":201503,"FCT_TOTALFACT":1784578},{"DIM_FECHA":201504,"FCT_TOTALFACT":1784561},{"DIM_FECHA":201505,"FCT_TOTALFACT":1254567},{"DIM_FECHA":201506,"FCT_TOTALFACT":1879016},{"DIM_FECHA":201507,"FCT_TOTALFACT":1123456}]

我的代码是这样的:

using (Entities database = new Entities())
{
    var Agr = from P in database.AGR_FACTURACION
                     where P.DIM_FECHA > 201501
                     select new { P.DIM_FECHA,
              P.FCT_TOTALFACT};
    JavaScriptSerializer js = new JavaScriptSerializer();
    Context.Response.Clear();
    Context.Response.ContentType = "application/json";
    Context.Response.Write(js.Serialize(Agr));
}

只有我想知道是否有可能在不对所有结果进行循环的情况下获得它。

在此先感谢,对我的英语感到抱歉。

【问题讨论】:

    标签: c# asp.net json entity-framework linq


    【解决方案1】:
    var Agr = (from P in database.AGR_FACTURACION
              where P.DIM_FECHA > 201501
              select new { P.DIM_FECHA, P.FCT_TOTALFACT}
              ).ToArray();
    
    var result = new {DIM_FECHA = Agr.Select(o=>o.DIM_FECHA), FCT_TOTALFACT = Agr.Select(o=>o.FCT_TOTALFACT)};
    ...
    Context.Response.Write(js.Serialize(result));
    

    【讨论】:

    • 我认为这里不需要调用ToArray()
    • 太棒了!这就是我一直在寻找的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-15
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    • 2016-01-27
    • 2012-05-07
    • 2020-05-12
    相关资源
    最近更新 更多