title: Implementing "JSON Merge Patch" in ASP.NET Core - best way do differentiate between null and not defined property
body: <p>I would like to create and endpoint conforming to &quot;JSON Merge Patch&quot; <a href="https://www.rfc-editor.org/rfc/rfc7396" rel="nofollow noreferrer">https://www.rfc-editor.org/rfc/rfc7396</a></p>
  <p>Please do not confuse it with &quot;JavaScript Object Notation (JSON) Patch&quot;
  <a href="https://www.rfc-editor.org/rfc/rfc6902" rel="nofollow noreferrer">https://www.rfc-editor.org/rfc/rfc6902</a></p>
  <p>However, I have a slight problem with differentiating between two situations in request:</p>
  <ul>
  <li><p>removal of property value, here  email value is being removed:</p>
    <pre class="lang-json prettyprint-override"><code>  {
        surname: &quot;Kowalski&quot;
        email: null
    }
  </code></pre>
  </li>
  <li><p>property not included because client simply does not want to update it, here email is not included because it should not be updated:</p>
    <pre class="lang-json prettyprint-override"><code>  {
        surname: &quot;Kowalski&quot;
    }
  </code></pre>
  </li>
  </ul>
  <p>The problem arises because in both situations after model binding email would have value null.</p>
  <p>Do you have suggestion how this might be implemented?</p>