¿Cómo serializar o deserializar un objeto JSON a una cierta profundidad en C #?

Solo quiero el primer nivel de profundidad de un objeto (no quiero ningún hijo). Estoy dispuesto a usar cualquier biblioteca disponible. La mayoría de las bibliotecas simplemente lanzarán una excepción cuando se alcance la profundidad de la recursión, en lugar de simplemente ignorarla. Si esto no es posible, ¿hay una manera de ignorar la serialización de ciertos miembros dado un cierto tipo de datos?

Edit: Digamos que tengo un objeto así:

<code>class MyObject
{
    String name = "Dan";
    int age = 88;
    List<Children> myChildren = ...(lots of children with lots of grandchildren);
}
</code>

Quiero eliminar cualquier elemento secundario (incluso tipos complejos) para devolver un objeto como este:

<code>class MyObject
{
    String name = "Dan";
    int age = 88;
    List<Children> myChildren = null;
}
</code>

Respuestas a la pregunta(4)

Su respuesta a la pregunta