title: JsonSerializer.Deserialize fails
body: <p>Consider the code...</p>
  
  <pre><code>using System;
  using System.Text.Json;
  
  public class Program
  {
      public static void Main()
      {
          int id = 9;
          string str = "{\"id\": " + id + "}";
          var u = JsonSerializer.Deserialize&lt;User&gt;(str);
          Console.WriteLine($"User ID: {u.Id}, Correct: {id == u.Id}");  // always 0/init/default value
      }
  }
  
  
  public class User {
      public int Id { get; set; }
  }
  </code></pre>
  
  <p>Why isn't the data being deserialized properly into the <code>User</code> object?  I also verified the behavior via <a href="https://dotnetfiddle.net/uxY6p5" rel="noreferrer">DotNetFiddle</a> in case it was an issue local to my system.  No exception is thrown.</p>
  
  <p>My actual implementation is read from an <code>[ApiController]</code>'s <code>[HttpPost]</code> action after I <code>return Created("user", newUser)</code>.  It is called in my MVC/Razor project via <code>_httpClient.PostAsync</code>.  I verified the values are correct when <code>Created</code> is returned to the <code>PostAsync</code> call, but no matter what, the value parsed from the response body contains only default values (the actual ID is a <code>Guid</code>).</p>
  
  <p>I initially thought it might have been an UTF8 related issue, as that is the encoding for the <code>StringContent</code> I post to the <code>ApiController</code>.  UTF8 deserialization is referenced <a href="https://docs.microsoft.com/en-us/dotnet/standard/serialization/system-text-json-how-to#deserialize-from-utf-8" rel="noreferrer">here</a>, but I had trouble getting from the IO.Stream of the <code>HttpContent</code> to a <code>ReadOnlySpan</code> or <code>Utf8JsonReader</code>.</p>
  
  <p>I found <a href="https://github.com/GillCleeren/BethanysPieShopHR/blob/04c7367958b5c46f84e3658ee3a0b95a293e9cbb/BethanysPieShopHRM.Server/Services/EmployeeDataService.cs#L40" rel="noreferrer">this project</a> while searching, which makes me think it should work as I expected.</p>