asp.net-mvc – ASP.NET MVC JsonResult和JQuery flot

我正在尝试使用带有asp.net mvc的 jquery flot图形插件.我正在尝试从JsonResult动态提取数据以填充图形.

我的问题是我似乎无法以正确的格式从JsonResult返回数据.

这是我的服务器端代码

public ActionResult JsonValues()
    {
        IList<IDictionary<string,int>> listofvalues = new List<IDictionary<string,int>>();
        IDictionary<string,int> values1 = new Dictionary<string,int>();
        values1.Add("2003",10882);
        values1.Add("2002",10383);
        values1.Add("2001",10020);
        values1.Add("2000",9762);
        values1.Add("1999",9213);
        values1.Add("1998",8720);

        IDictionary<string,int> values3 = new Dictionary<string,int>();
        values3.Add("2003",599);
        values3.Add("2002",510);
        values3.Add("2001",479);
        values3.Add("2000",457);
        values3.Add("1999",447);
        values3.Add("1998",414);

        listofvalues.Add(values1);
        listofvalues.Add(values3);

        JsonResult result = new JsonResult { Data = listofvalues };
        return result;
    }

这是我的客户端代码

$(function() {
        $.getJSON("/path/to/JsonValues",function(data) {
            var plotarea = $("#plot_area");
            $.plot(plotarea,data);
        });
    });

注意,以下客户端代码工作正常:

$(function() {
        var points = [
            [[2003,10882],[2002,10383],[2001,10020],[2000,9762],[1999,9213],[1998,8720]],[[2003,599],510],479],457],447],414]]
        ];

        var plotarea = $("#plot_area");
        $.plot(plotarea,points);
    });

鉴于以上工作正常,似乎只是正确格式化返回的JsonResult.我怎样才能做到这一点?字典列表是最好的返回类型,还是我应该使用其他东西?或者我是否应该使用javascript中的函数来正确格式化数据?

看起来真的很简单,但我无法让它发挥作用.

解决方法

检查你的Json返回给客户端,它将是具有键值对的Json对象,如:

{{'2003':10882,'2002':10383},....}

你需要一个阵列数组的地方.

[[[2003,10383]],...]

您可以自己生成Json字符串并返回结果

StringBuilder sb = new StringBuilder();
sb.append("[2003,")
return Json("[" + sb.ToString() + "]");

或者您可以尝试将值存储在可能生成所需Json的Arrays中,但我还没有尝试过.

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....