title: System.Text.Json how to get converter to utilise default Write() behaviour
body: <p>I have written a <strong>system.text.json</strong> custom converter for the <code>Read()</code> side of the custom converter.  However, for the <code>Write()</code> side, I would simply like to use the default Write functionality to serialise an object instead of having to hand roll the serialisation of an object.  I started with...</p>
  <pre><code>public override void Write(Utf8JsonWriter writer, Customer value, JsonSerializerOptions options)
  {
      throw new NotImplementedException();
  }
  </code></pre>
  <p>I had hoped that I could simply use the standard <code>JsonSerializer.Serialize(Customer)</code> within the <code>Write()</code> method.  Something like...</p>
  <pre><code>public override void Write(Utf8JsonWriter writer, Customer value, JsonSerializerOptions options)
  {
      return JsonSerializer.Serialize(value);
  }
  </code></pre>
  <p>However, that appears to be returning <code>null</code>.  I imagine that all I am doing is nesting the same behaviour.</p>
  <p>As a sign of desperation, I have also tried deleting the <code>Write()</code> method hoping that the standard functionality would fill that gap, but I get the following Build error message...</p>
  <pre><code>CS0534  'CustomerJsonConverter' does not implement inherited abstract member
  'JsonConverter&lt;Customer&gt;.Write(Utf8JsonWriter, Customer, JsonSerializerOptions)'
  </code></pre>
  <p>Newtonsoft.Json has properties called <code>CanRead</code> and <code>CanWrite</code> that can be set to False.  These force the converter to use the default converter functionality when deserializing and serializing respectively.</p>
  <p>I'm hoping there's something similar in System.Text.Json?</p>
  <hr />
  <h2>Update 1</h2>
  <p>Using <strong>@Guilherme</strong>'s suggestion... it part works.  However, that approach gives an incomplete Json object.</p>
  <p>For background, when I Deserialize my original source Json, I am having to deal with a situation where the originating Json (over which I have no control), has a field that can be an empty <code>&quot;&quot;</code>, or an object <code>{ &quot;key&quot;: &quot;value&quot; }</code> or an array <code>[{ &quot;key&quot;: &quot;value&quot; },{ &quot;key&quot;: &quot;value&quot; }]</code>.  In the <code>Read()</code> (deserializer) I handle this and output a consistent array.</p>
  <p>But now, when I serialise my resulting object, the Addresses array is always empty (blank).  Here's the output when I leave the <code>Write()</code> method empty.  Note that &quot;Addresses&quot; has no value or comma separator.</p>
  <pre><code>{
      &quot;Customer&quot;: {
          &quot;firstName&quot;: &quot;John&quot;,
          :
          other values
          :
          &quot;Addresses&quot;: &quot;Phone&quot;: &quot;01234567890&quot;
      }
  }
  </code></pre>
  <p>Do I have to roll my own JsonDocument and use that in the Write method?</p>