2011-11-15 15 views
0

バグかどうかわかりません。私はいくつかのチュートリアルに従ってASP.NET MVCコントローラにJson 2D配列をポストし、配列の最初の要素が空でないときは正常に動作します。そうでなければ失敗します。ASP.NET MVC 3コントローラがjson 2D配列の受信に失敗しました

例:私のJSON objが

var obj = { 
    ItemsArr: [[1, 2],[]] // first element is an array with a few elements 
}; 

である場合、コントローラは、データを正しく受信します。しかし、2D配列の最初の要素が空の配列の場合、

var obj = { 
    ItemsArr: [[], [1, 2]] // first element is an EMPTY array 
}; 

コントローラはnullを受け取ります。

私はjquery.json-2.3.min.jsを使用してobjをjson文字列に変換しています。 変換後の文字列は罰金見える:

{"ItemsArr":[[1,2],[]]} 
{"ItemsArr":[[],[1,2]]} 

モデルコード:

public class Model 
{ 
    public List<string[]> ItemsArr {get;set;} 
} 

public MyController : Controller 
{ 
    public ActionResult DoSomething(Model model) 
    { ... 
    } 
} 

は、誰もがこの問題に会ったことがありますか?それを解決するための任意のアイデア?

ありがとうございます!

===================================

編集:

後いくつかの研究は、空の配列をnullに変更した場合、それは動作します。

{"ItemsArr":[null,[1,2]]} 

答えて

0

が、私はオブジェクトの配列を渡すことを提案し、サーバー側で同じプロパティを持つクラスを作成し、asp.net MVCは自動的にリストに(JS側の)この配列に変換(または任意のだろうその他のIEnumerable)が含まれています。

関連する問題