Tarmil / FSharp.SystemTextJson

System.Text.Json extensions for F# types
MIT License
323 stars 44 forks source link

FSharp.SystemTextJson

Build status Nuget

This library provides support for F# types to System.Text.Json.

It adds support for the following types:

It provides a number of customization options, allowing a wide range of JSON serialization formats.

Documentation

FAQ

Yes!

Yes! Starting with v0.6, this is the default behavior. To supersede it, use an explicit JsonUnionEncoding that does not include UnwrapOption.

Yes! It also provides a more powerful JsonNameAttribute that supports non-string union tags.

Yes! It also supports naming policy for union tags.

Yes!

As little as possible, but unfortunately the FSharp.Reflection API requires some allocations. In particular, an array is allocated for as many items as the record fields or union arguments, and structs are boxed. There is work in progress to improve this.

Yes!