如何将linq数组转换为json的字符串数组

时间:2013-04-22 19:28:36

标签: vb.net json linq

我在VB.NET中有这个功能

Dim dt = (From d In db.d ...).ToArray()

Return New With {
    .label = "label",
    .data = dt.ToArray()
}

以JSON格式返回以下数据

{
    "label":"label",
    "data":[
        {"date":1366657400000,"value":12051},
        {"date":1366657397000,"value":12102},
        {"date":1366646820000,"value":12099}
    ]
}

如何以下列格式返回数据

{
    "label":"label",
    "data":[
        [1366657400000,12051],
        [1366657397000,12102],
        [1366646820000,12099]
    ]
}

1 个答案:

答案 0 :(得分:1)

我对VB不是很熟悉,但看起来应该是这样的:

Return New With { _
    .label = "label", _
    .data = data.[Select](Function(d) New Long() { d.date, d.value} ).ToArray() _
}

这个想法是你想为原始集合中的每个项目创建一个新数组。新数组中的第一项是date属性,第二项是value属性。

这就是它在C#中的样子:

return Json(new {
    label = "label",
    data = data.Select(d => new[] { d.date, d.value }).ToArray()
});