4

flotするJsonリストとして返す日付/値ペアのIEnumerableリストがあります。ただし、JsonResult() を呼び出すと、結果は次のようになります。

[{"Date":date1, "Value":value1}, {"Date":date2, "Value":value2}...]

フロットが待っている

[[date1, value1], [date2, value2]...]

このようなオブジェクトを出力する MVC フレームワークを取得する簡単な方法はありますか、それとも独自のセラライザー/StringBuffer コードを記述する必要がありますか? さらに言えば、フィールド名を出力する必要さえなく、値そのものだけを出力する必要があります。

4

3 に答える 3

5

これらの日付/値のペアのタイプはSystem.Web.UI.Pair? もしそうなら、あなたはこれを行うことができます;

return Json(yourIEnumerable.Select(x => new[] { x.First, x.Second }).ToArray());

それはあなたが望む方法を返します。

[["\/Date(1255686550232)\/","foo"],["\/Date(1255686550232)\/","bar"]]

のタイプでなくても、System.Web.UI.Pairきっとわかると思います。

于 2009-10-16T09:50:51.967 に答える
1

あなたの最善の策は自分で書くことですが、それは簡単な練習です。

私の考えでは、10分かけて自分でシリアル化を行うことができる場合、それを行う方法を探すのに1時間費やす価値はありますか.

于 2009-10-15T16:55:48.697 に答える
1

次のような文字列を返すだけでよいようです。

var builder = new StringBuilder();
builder.Append("[");
foreach (var item in listOfDateTimes)
    builder.AppendFormat("[{0}, {1}], ", item.Key, item.Value);
var result = builder.ToString().TrimEnd(new char[]{',',' '}) + "]";
return result;
于 2009-10-15T16:56:12.300 に答える