using System.Collections.Generic;
public static void Main()
""productName"": ""Basic t-shirt"",
""productDescription"": ""a quiet t-shirt"",
""price"": { ""amount"" : 40, ""currency"": ""eur"" },
""sizes"": [ ""s"", ""m"", ""l""],
""colors"": [""red"", ""blue"", ""green""]
""productName"": ""Fancy shirt"",
""productDescription"": ""a loud t-shirt"",
""price"": { ""amount"" : 50, ""currency"": ""eur"" },
""sizes"": [ ""s"", ""m"", ""l"", ""xl""],
""colors"": [""ALL"", ""Batique""]
var options = new JsonSerializerOptions() { PropertyNameCaseInsensitive = true };
var products = JsonSerializer.Deserialize<List<ProductCatalogProduct>>(data, options);
if (products.Any(p => !string.IsNullOrEmpty(p.ProductDescription)))
foreach (var p in products)
Console.WriteLine(p.ProductId + " : " + p.ProductDescription);
Console.WriteLine("** json not deserialized **");
public Money(string currency, decimal amount)
public class ProductCatalogProduct
public string ProductName
public string ProductDescription
public List<Attributes> Attributes
public List<string> Sizes
public List<string> Colors