Passing verschachtelte Arrays zu asp.net mvc mit jQuery $ .ajax

Ich versuche, ein verschachteltes Array wie folgt an einen asp.net-MVC-Controller zu übergeben:

var subgroups = [];
subgroups [0] = [["A", "Y"],
                 ["B", "Y"],
                 ["C", "Y"]];
subgroups [1] = [["D", "Z"],
                 ["E", "Z"],
                 ["F", "Z"]];

$.ajax({ url: "<%= Url.Content("~/Controller/Action") %>", data: { subgroups: subgroups },
         dataType: "json", context: document.body, success: function(data) { ... } );

Der resultierende Controller:

public ContentResult Action(List<string[][]> subgroups) {
    ...
}

Das Problem ist, dass die resultierende Untergruppenvariable im Controller folgendermaßen aussieht:

subgroups[0][0] == null;
subgroups[0][1] == null;
subgroups[0][2] == null;
subgroups[1][0] == null;
subgroups[1][1] == null;
subgroups[1][2] == null;

Die Werte aus dem tief verschachtelten Array werden nicht übergeben. Firebug meldet, dass die Parameter meiner Ajax-Anfrage wie folgt lauten:

subgroups[0][0][] A
subgroups[0][0][] Y
subgroups[0][1][] B
subgroups[0][1][] Y
subgroups[0][2][] C
subgroups[0][2][] Y
subgroups[1][0][] D
subgroups[1][0][] Z
subgroups[1][1][] E
subgroups[1][1][] Z
subgroups[1][2][] F
subgroups[1][2][] Z

Es sieht so aus, als ob die Ursache darin besteht, dass jQuery diese Array-Indizes nicht ausfüllt, da ich das Problem beheben kann, indem ich die Daten wie folgt formatiere:

subgroups [0] = [{ 0: "A", 1: "Y"}, ...];

Warum legt jQuery die Indizes für das äußere Array ab, aber nicht für das innere? Sagen Sie mir bitte, dass es dafür eine bessere Lösung gibt, als die numerischen Tasten manuell anzugebe

Antworten auf die Frage(4)

Ihre Antwort auf die Frage