Convertir DataTable a JSON con clave por fila

Pensé que la siguiente sería una tarea bastante común y asumí que habría una solución fácil para ella, pero no puedo encontrarla.

Si tengo un datatable en la siguiente estructura.

ID  Name    Active
ID1 John    TRUE
ID2 Bill    FALSE

Me gustaría serializarlo como un objeto JSON donde la columna ID es un nodo en el objeto JSON como:

[
    {
        "ID1": {
            "Name": "John",
            "Active": "True"
        },
        "ID2": {
            "Name": "Bill",
            "Active": "False"
        }
    }
]

Busqué en JSON.NET pero no pude hacerlo funcionar. Edición: estoy usando C #

Respuestas a la pregunta(2)

Su respuesta a la pregunta