Highchart 值系列映射

Highchart value series mapping

我在将数据插入 highchart 时遇到问题 我尝试自定义来自 http://www.highcharts.com/stock/demo 的示例 但是我的图表没有显示任何信息,我查看了示例数据,它与我的数据格式相同:

这是我在 C# 中的代码:

[HttpPost]
public JsonResult GetData()
{
    ...
    var view= new JavaScriptSerializer().Serialize(dictionary.dicValues.Select(x => new object[] {x.Key, x.Value}));
    view= Regex.Replace(view, @"\""\/Date\((-?\d+)\)\/\""", "");
    view= view.Replace(@"[", "").Replace(@"]", "");
    return new JsonResult
    {
        Data = new
        {
            view
        },
        ContentType = null,
        ContentEncoding = null,
        JsonRequestBehavior = JsonRequestBehavior.AllowGet
    };
}

这是我创建 highchart 的 js 代码:

$(elem).highcharts('StockChart', {
    rangeSelector: {
        selected: 1
    },

    title: {
        text: "title"
    },

    xAxis: {
        type: 'datetime',
    },

    yAxis: {
        type: 'double',
    },

    series: [{
            name: 'AAPL',
            data: data.view,
            tooltip: {
                valueDecimals: 2
            }
    }]
});

这是我传递给视图的数据:

"1421751600000,4.9928500000000007,1421755200000,13.314966666666665,1421758800000,8.316766666666668,1421845200000,14.738,1421848800000,7.9762000000000013"

或者如果我没有删除括号:

”” [[[1421751600,000,4.99285000000000077],[1421755200000,13.31496666666666665]

如果有人能帮助我,我将不胜感激!

您应该可以将其简化为:

public JsonResult GetData()
{
    return new JsonResult() 
    { 
        Data = dictionary.dicValues.Select(x => new object[] {x.Key, x.Value})
    };
}

JsonResult 的默认值应该为 ContentType 提供正确的设置,它应该自动使用默认的序列化程序将您的对象序列化为正确的 JSON 字符串(除非您需要一些自定义序列化)。