从sql创建多个json数组

时间:2014-11-11 07:47:59

标签: sql arrays json

我的sql中的数据看起来与

有些相似
date        system                 Hits
2014-11-11  abc                      1
2014-11-12  abc                      9
2014-11-13  abc                      4
2014-11-14  abc                      7
2014-11-16  abc                      1
2014-11-17  abc                      15
2014-11-18  abc                      9
2014-11-11  two                      27
2014-11-12  two                     66
2014-11-13  two                     96
2014-11-14  two                     68
2014-11-15  two                     10
2014-11-16  two                     14
2014-11-17  two                     119

我能够读取它们并创建一个单独的json数组,但我的要求是根据计算机名称生成多个json数组

最终结果是

 var abc = [
                 { Hits: 30 },
                 { Hits: 25 },
                 { Hits: 30 },
                 { Hits: 35 },
                 { Hits: 20 },
                 { Hits: 30 },
                 { Hits: 60 }
            ];
    var two =  [
                 { Hits:  27},
                 { Hits:  66},
                 { Hits:  96},
                 { Hits:  68},
                 { Hits:  10},
                 { Hits:  14},
                 { Hits:  119}
            ];   

类似于即使是日期,我如何动态创建不同的数组并相应地将它们填充到C#中的系统名称 我正在使用asp.net MVC

2 个答案:

答案 0 :(得分:0)

您可以通过以下步骤实现您的要求,

首次使用" ORDER BY"在您的查询中 - 它将使值成为有条理的,现在您已经排序了结果集。

通过COLUMN_YOU_WANT从YOUR_TABLE订单中选择日期,系统,点击次数;

循环遍历结果集。使用以下技巧构造JSON。

String lastValue = "";
bool first = true;
Array YourArray[]; //If you want you can have n number of array for n columns.
while(RESULT NOT END)
{
   /*  //If your prev ORDER BY value differ with current then next value is reached so we need to add old array to JSON and create new array fro new value */
   if(COLUMN_YOU_WANT.value != lastValue && !first) 
   {
       Add Array to JSON and clear Array
   }
   first = false;
   Add the current value to array
}

现在你的愿望JSON将是最终结果。

答案 1 :(得分:0)

我使用了一种相当不同的方法词典>用于存储,然后在javascript中解析它们。