using System.Text.Json.Serialization.Metadata;
var jsonSerializerOptions = new JsonSerializerOptions(JsonSerializerDefaults.Web)
TypeInfoResolver = new DefaultJsonTypeInfoResolver
Modifiers = { ExcludeEmptyStrings }
var json = JsonSerializer.Serialize(testObj, jsonSerializerOptions);
static void ExcludeEmptyStrings(JsonTypeInfo jsonTypeInfo)
if (jsonTypeInfo.Kind != JsonTypeInfoKind.Object)
foreach (JsonPropertyInfo jsonPropertyInfo in jsonTypeInfo.Properties)
if (jsonPropertyInfo.PropertyType == typeof(string))
jsonPropertyInfo.ShouldSerialize = static (obj, value) =>
!string.IsNullOrEmpty((string)value);