【发布时间】:2017-03-14 14:08:25
【问题描述】:
我的视图中有一个图表,如下所示:
var hourlyGraph = Morris.Bar({
element: 'graph_bar',
data: [
@foreach (var item in ViewBag.HourlyGraph)
{
@:{device: '@item.Hour.ToString("D2"):00', geekbench:@item.Sales },
}
],
xkey: 'device',
ykeys: ['geekbench'],
labels: ['Sold'],
barRatio: 0.4,
barColors: ['#0A4D70', '#34495E', '#ACADAC', '#3498DB'],
xLabelAngle: 35,
hideHover: 'auto',
resize: true
});
这是一张莫里斯图。注意这里的数据是如何设置的:
[
@foreach (var item in ViewBag.HourlyGraph)
{
@:{device: '@item.Hour.ToString("D2"):00', geekbench:@item.Sales },
}
]
现在我需要用新数据填充图表。在我的操作中,我创建了一个包含 2 个属性的列表:
public int Hour {get;set;}
public int Sales {get;set;}
它们被存储在一个列表中:
var HourlyGraph = new List<HourlyGraph>();
现在我想将此列表转换为 JSON 格式,如下所示:
[
{device: '0', geekbench:5 },
{device: '1', geekbench:13 },
{device: '2', geekbench:25 },
{device: '3', geekbench:14 },
{device: '4', geekbench:16 },
]
设备的价值是 = 小时,而 geekbench = 销售额......
我如何在 C# 中做到这一点?
【问题讨论】:
-
这样的东西行得通吗? new JavaScriptSerializer().Deserialize
(yourList); -
您看过 Newtonsoft.JSON 库了吗?你会在 nuget 上找到它
-
@TomDoodler 是的,但让我感到困惑的是如何将 json 中的第一个字符串设置为命名为“device”和“geekbench”?
-
@joab "device" 和 "geekbench" 值呢,我如何将它们放在 JSON 响应中?
-
这样的东西行得通吗? [JsonProperty(PropertyName = "device")] public int Hour {get;set;}
标签: c# asp.net json asp.net-mvc