FsCodec.SystemTextJson by @jet @moneylion @amjjd @bartelink @eiriktsarpalis and contributors

<PackageReference Include="FsCodec.SystemTextJson" Version="3.0.3" />

 Options

public static class Options
public static JsonSerializerOptions Default { get; }

Analogous to JsonSerializerOptions.Default - allows for sharing/caching of the default profile as defined by Options.Create()

public static JsonSerializerOptions Create(JsonConverter[] converters, FSharpOption<bool> indent = null, FSharpOption<bool> camelCase = null, FSharpOption<bool> ignoreNulls = null, FSharpOption<bool> unsafeRelaxedJsonEscaping = null, FSharpOption<bool> autoTypeSafeEnumToJsonString = null, FSharpOption<bool> autoUnionToJsonObject = null, FSharpOption<bool> rejectNullStrings = null)

Opinionated helper that creates serializer settings that represent good defaults for F# - no camel case conversion - assumption is you'll use records with camelCased names (which is the System.Text.Json default) - renders values with UnsafeRelaxedJsonEscaping - i.e. minimal escaping as per Newtonsoft.Json Everything else is as per CreateDefault, i.e. emit nulls instead of omitting fields, no indenting

public static JsonSerializerOptions CreateDefault(JsonConverter[] converters, FSharpOption<bool> indent = null, FSharpOption<bool> camelCase = null, FSharpOption<bool> ignoreNulls = null, FSharpOption<bool> unsafeRelaxedJsonEscaping = null)

Creates a default set of serializer options used by Json serialization. When used with no args, same as JsonSerializerOptions()