AspNetCore.FSharpCompilerJson
1.2.0
dotnet add package AspNetCore.FSharpCompilerJson --version 1.2.0
NuGet\Install-Package AspNetCore.FSharpCompilerJson -Version 1.2.0
<PackageReference Include="AspNetCore.FSharpCompilerJson" Version="1.2.0" />
paket add AspNetCore.FSharpCompilerJson --version 1.2.0
#r "nuget: AspNetCore.FSharpCompilerJson, 1.2.0"
// Install AspNetCore.FSharpCompilerJson as a Cake Addin #addin nuget:?package=AspNetCore.FSharpCompilerJson&version=1.2.0 // Install AspNetCore.FSharpCompilerJson as a Cake Tool #tool nuget:?package=AspNetCore.FSharpCompilerJson&version=1.2.0
AspNetCore.FSharpCompilerJson
This NuGet package provides the ability to integrate the FSharpCompiler.Json
into the ASP.NET to replace the built-in Json serializer.
The Usage
Build an ASP.NET Core Web App, and install following NuGet packages:
install-package Microsoft.AspNetCore.SpaServices.Extensions
install-package AspNetCore.FSharpCompilerJson
How to serialize The return value of the controller's actions as JSON
in Startup.cs
file, Modify the method ConfigureServices
to add dependency injection to it:
public void ConfigureServices(IServiceCollection services) {
...
FSharpCompilerJsonDependencyInjection.AddFSharpJson(services);
}
This configuration means that FSharpCompiler.Json
has been integrated into ASP.NET to replace the built-in json serializer.
[<HttpGet>]
member this.action() =
...
JsonResult data
data will be serialized as json using the FSharpCompiler.Json
serializer, which is ASP.NET's serializer.
The Method to read Request.Query
In a controller's actions, The Method to read Request.Query
is as follows:
[<HttpGet>]
member this.kvps() =
let kvps = this.Request.Query |> Query.toPairs
...
where the type of kvps
is seq<string*string>
.
For example, a request's url query string is:
?foo=bar&baz=[`qux`,`quux`]
The kvps corresponding to the query string are parsed as follows:
["foo","bar";"baz","[`qux`,`quux`]"]
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net5.0
- FSharp.Core (>= 6.0.1)
- FSharpCompiler.Json (>= 1.2.0)
- TaskBuilder.fs (>= 2.1.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
migrate to FslexFsyacc