title: Is there a simple way to manually serialize/deserialize child objects in a custom converter in System.Text.Json?
body: <blockquote>
    <p>NOTE: I am using Microsoft's new <code>System.Text.Json</code> and not <code>Json.NET</code> so make sure answers address this accordingly.</p>
  </blockquote>
  
  <p>Consider these simple POCOs:</p>
  
  <pre class="lang-cs prettyprint-override"><code>interface Vehicle {}
  
  class Car : Vehicle {
      string make          { get; set; }
      int    numberOfDoors { get; set; }
  }
  
  class Bicycle : Vehicle {
      int frontGears { get; set; }
      int backGears  { get; set; }
  }
  </code></pre>
  
  <p>The car can be represented in JSON like this...</p>
  
  <pre class="lang-json prettyprint-override"><code>{
    "make": "Smart",
    "numberOfDoors": 2
  }
  </code></pre>
  
  <p>and the bicycle can be represented like this...</p>
  
  <pre class="lang-json prettyprint-override"><code>{
    "frontGears": 3,
    "backGears": 6
  }
  </code></pre>
  
  <p>Pretty straight forward. Now consider this JSON.</p>
  
  <pre class="lang-json prettyprint-override"><code>[
    {
      "Car": {
        "make": "Smart",
        "numberOfDoors": 2
      }
    },
    {
      "Car": {
        "make": "Lexus",
        "numberOfDoors": 4
      }
    },
    {
      "Bicycle" : {
        "frontGears": 3,
        "backGears": 6
      }
    }
  ]
  </code></pre>
  
  <p>This is an array of objects where the property name is the key to know which type the corresponding nested object refers to.</p>
  
  <p>While I know how to write a custom converter that uses the <code>UTF8JsonReader</code> to read the property names (e.g. 'Car' and 'Bicycle' and can write a switch statement accordingly, <strong><em>what I don't know is how to fall back to the default <code>Car</code> and <code>Bicycle</code> converters (i.e. the standard JSON converters)</em></strong> since I don't see any method on the reader to read in a specific typed object.</p>
  
  <p>So how can you manually deserialize nested objects like this?</p>