Deserializar matriz JSON anidada en C #

Tengo una matriz JSON con objetos anidados, que representan un menú, como este:

[
    [
      {
       "name": "Item 1",
       "id": 1
      },
      {
       "name": "Item 2",
       "id": 2,
       "children": [
        [
         {
          "name": "Item 21",
          "id": 21
         }
        ]
       ]
      },
      {
       "name": "Item 3",
       "id": 3,
       "children": [
        [
         {
          "name": "Item 31",
          "id": 31,
          "children": [
           [
            {
             "name": "Item 311",
             "id": 311
            },
            {
             "name": "Item 312",
             "id": 312
            }
           ]
          ]
         },
         {
          "name": "Item 32",
          "id": 32
         },
...

Y quiero deserializarlo usando JavaScriptSerializer. Tengo un código como se muestra a continuación, pero no funciona.

var serializer = new JavaScriptSerializer();
var objects = serializer.Deserialize<Menu>(jsonData); 
...


public class Menu
    {
        public int id { get; set; }
        public string name { get; set; }
        public Menu[] children { get; set; }
    }

El error que obtengo es "El tipo 'Menú' no es compatible para deserializar una matriz". Agradecería cualquier ayuda sobre cómo declarar el objeto personalizado.

Salud.

Respuestas a la pregunta(0)

Su respuesta a la pregunta