JsonConvert.SerializeObject
I use this to serialize full objects to log them with all their properties
InputModel x = // ...
log.LogInfo($"doing x. input: {JsonConvert.SerializeObject(x)}");
JsonProperty
and NullValueHandling
This is useful for cases where we need to modify the given properties of a class we serialize and give back, but for any reason we don’t want to change the internal structure or naming.
With NullValueHandling
we may omit in the JSON a variable in case it’s null
.
public class House
{
public List<Window> windows { get; set; };
[JsonProperty("builtInGarage"), NullValueHandling = NullValueHandling.Ignore]
public Garage garage { get; set; };
}