Using the System.Text.Json deserializer doesn't produce the expected results. There are no errors thrown, just a list without values....all object properties are null.
Here is a working example: https://dotnetfiddle.net/QYrvy5
Here is the code in question. "data" is just a json string (see dotnet fiddle):
products = JsonSerializer.Deserialize<List<ProductCatalogProduct>>(data);