Newtonsoft.Json by James Newton-King

<PackageReference Include="Newtonsoft.Json" Version="10.0.3" />

 JsonSerializerSettings

public class JsonSerializerSettings
Specifies the settings on a JsonSerializer object.
public SerializationBinder Binder { get; set; }

Gets or sets the SerializationBinder used by the serializer when resolving type names.

public bool CheckAdditionalContent { get; set; }

Gets a value indicating whether there will be a check for additional content after deserializing an object.

Gets or sets how constructors are used during deserialization.

public StreamingContext Context { get; set; }

Gets or sets the StreamingContext used by the serializer when invoking serialization callback methods.

public IContractResolver ContractResolver { get; set; }

Gets or sets the contract resolver used by the serializer when serializing .NET objects to JSON and vice versa.

public IList<JsonConverter> Converters { get; set; }

Gets or sets a JsonConverter collection that will be used during serialization.

public CultureInfo Culture { get; set; }

Gets or sets the culture used when reading JSON. Defaults to InvariantCulture.

Gets or sets how dates are written to JSON text.

public string DateFormatString { get; set; }

Gets or sets how DateTime and DateTimeOffset values are formatted when writing JSON text, and the expected date format when reading JSON text.

public DateParseHandling DateParseHandling { get; set; }

Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON.

Gets or sets how DateTime time zones are handled during serialization and deserialization.

Gets or sets how default values are handled during serialization and deserialization.

public IEqualityComparer EqualityComparer { get; set; }

Gets or sets the equality comparer used by the serializer when comparing references.

public EventHandler<ErrorEventArgs> Error { get; set; }

Gets or sets the error handler called during serialization and deserialization.

Gets or sets how special floating point numbers, e.g. NaN, PositiveInfinity and NegativeInfinity, are written as JSON.

Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text.

public Formatting Formatting { get; set; }

Indicates how JSON text output is formatted.

public int? MaxDepth { get; set; }

Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a JsonReaderException.

Gets or sets how metadata properties are used during deserialization.

Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization.

public NullValueHandling NullValueHandling { get; set; }

Gets or sets how null values are handled during serialization and deserialization.

Gets or sets how objects are created during deserialization.

Gets or sets how object references are preserved by the serializer.

Gets or sets how reference loops (e.g. a class referencing itself) are handled.

Gets or sets the IReferenceResolver used by the serializer when resolving references.

Gets or sets a function that creates the IReferenceResolver used by the serializer when resolving references.

Gets or sets the ISerializationBinder used by the serializer when resolving type names.

Gets or sets how strings are escaped when writing JSON text.

public ITraceWriter TraceWriter { get; set; }

Gets or sets the ITraceWriter used by the serializer when writing trace messages.

Gets or sets how a type name assembly is written and resolved by the serializer.

Gets or sets how a type name assembly is written and resolved by the serializer.

public TypeNameHandling TypeNameHandling { get; set; }

Gets or sets how type name writing and reading is handled by the serializer.

Initializes a new instance of the JsonSerializerSettings class.