2

ASP.NET MVC 4でJqPlotを使用しています。

これは、Jqplotの例の 1つからのサンプル データです。

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 で、その他は値です。

今、代わりにコントローラーからこのような値を取得しようとしています.Web Apiコントローラーを使用しています

私の行動は次のとおりです

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;
}

しかし、返された値は

[オブジェクト { 日付 = "2012-11-08T16:52:04.5047592+05:30"、値 = 4}、[オブジェクト { 日付 = "2012-11-08T16:52:04.5047592+05:30"、値 = 4} }、...

そこで、JSON.stringify()を試してみることにしました。これにより、次の結果が得られました...

[{"日付":"2012-11-08T16:52:04.5047592+05:30","値":4},{"日付":"2012-12-08T16:52:04.5047592+05:30", "値":11},{"日付":"2013-01-08T16:52:04.5047592+05:30","値":5},{"日付":"2013-02-08T16:52:04.5047592 +05:30","値":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

4

1 に答える 1

2

これは、配列の代わりにオブジェクトを使用しているためです。これの代わりに、次のようにすることができます。

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]; });

結果は次のようになります (角かっこは配列であることを示し、オブジェクト キー、Date および Value がないことに注意してください)。

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

次に、サンプルデータと同じ形式のプロットで「結果」を使用できます。

于 2012-11-08T11:39:40.990 に答える