gpt4 book ai didi

jquery - 在 ASP.NET MVC 中将对象列表转换为 Json

转载 作者:行者123 更新时间:2023-12-01 04:17:58 25 4
gpt4 key购买 nike

我正在与 JqPlot 合作使用 ASP.NET MVC 4。

这是来自 one of the examples 的示例数据来自 Jqplot

var line1 = [['2008-06-30 8:00AM', 4], ['2008-7-30 8:00AM', 6.5], ['2008-8-30 8:00AM' ', 5.7], ['2008-9-30 8:00AM', 9], ['2008-10-30 8:00AM', 8.2]];

该对中的第一个值是 DateTime,其他值是 value。

现在我正在尝试从 Controller 获取像这样的值,我正在使用Web Api Controller

我的操作如下

public List<Stats> GetGraphData()
{
var stats = new List<Stats>
{
new Stats {Date = DateTime.Now, Value = 4},
new Stats {Date = DateTime.Now.AddMonths(1), Value = 11},
new Stats {Date = DateTime.Now.AddMonths(2), Value = 5},
new Stats {Date = DateTime.Now.AddMonths(3), Value = 7},
};
return stats;
}

但是返回的值是

[Object { Date= "2012-11-08T16:52:04.5047592+05:30", Value=4}, [Object { Date="2012-11-08T16:52:04.5047592+05:30", Value=4}, ...

所以我决定尝试 JSON.stringify() ,结果如下......

[{"Date":"2012-11-08T16:52:04.5047592+05:30","Value":4},{"Date":"2012-12-08T16:52:04.5047592+05:30","Value":11},{"Date":"2013-01-08T16:52:04.5047592+05:30","Value":5},{"Date":"2013-02-08T16:52:04.5047592+05:30","Value":7}]

如何获得如下所示的格式?[['2008-06-30 8:00AM', 4], ['2008-7-30 8:00AM', 6.5], ['2008-8-30 8:00AM', 5.7], [ '2008-9-30 8:00AM', 9], ['2008-10-30 8:00AM', 8.2]];

请帮我解决这个问题。

注意:请随意编辑我的问题的标题,我想不出其他任何内容:P

最佳答案

这是因为您使用的是对象而不是数组,您可以执行以下操作:而不是这样:

new Stats {Date = DateTime.Now, Value = 4},

试试这个:

new String[] { DateTime.Now.ToString(), "4" },

当然更改List<Stats>List<String[]>

另一种选择是在获取对象后将其扁平化为 Javascript 数组。假设您将来自服务器的数据放入名为 serverArray 的变量中。 ,这看起来像一个对象数组:

var serverArray = [{Date: "2012-11-08T16:52:04.5047592+05:30", Value: 4}, { .... }, etc. etc. ];

然后你可以使用 .map() 将此数组映射到另一个数组:

results = serverArray.map(function (obj) { return [obj.Date, obj.Value]; });

结果将如下所示(请注意方括号表示数组并且缺少对象键、日期和值):

[["2012-11-08T16:52:04.5047592+05:30", 4], [......], etc. etc. ];

然后您可以在绘图中使用与示例数据相同格式的“结果”。

关于jquery - 在 ASP.NET MVC 中将对象列表转换为 Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13288242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com