Salida de cadena JSON personalizada con Newtonsoft

Estoy tratando de serializar C # DataTable usando Newtonsoft JsonConverter

Código:

JsonConvert.SerializeObject(dt); //dt is DataTable

El resultado que obtuve es:

[
  {
    "Name": "Tiger Nixon",
    "Position": "System Architect",
    "Address": "Edinburgh",
    "No": "5421"
  },
  {
    "Name": "Garrett Winters",
    "Position": "Accountant",
    "Address": "Tokyo",
    "No": "8422"
  }
]

El resultado que quiero es:

{
  "data": [
    [
      "Tiger Nixon",
      "System Architect",
      "Edinburgh",
      "5421"
    ],
    [
      "Garrett Winters",
      "Accountant",
      "Tokyo",
      "8422"
    ]
  ]
}

¿Es posible personalizar la salida con Newtonsoft? Intenté escribir mi propio código para serializar DataTable usandoforeach sobre elDataTable pero el rendimiento es noche y día en comparación con Newtonsoft.

Cualquier ayuda será apreciada

Respuestas a la pregunta(3)

Su respuesta a la pregunta