如何访问FSharp.Data.JsonExtensions?

Sol*_*lma 5 f# f#-data

抱歉,这个问题还不清楚。我对F#4.0中的软件包感到困惑,这是我能做的最好的事情。

该书Expert F# 4.0由Don赛姆,亚当Granicz和安东尼奥奇斯泰尼诺包含的代码用于处理JSON数据。代码以

open FSharp.Data
open FSharp.Data.JsonExtensions
Run Code Online (Sandbox Code Playgroud)

我已经FSharp.Data在Visual Studio中安装了。不过,“ JsonExtensions”一词在其下仍显示红色花键,其余代码无法编译。

Add References在Solution Explorer中我没有找到一个包FSharp.Data.JsonExtensions。我也看了下NuGet,没有发现包裹FSharp.Data.JsonExtensions。有文档 表明它是一个模块。但是,使用Visual Studio中不出现下点(只有一个条目:)JsonExtensions
FSharp.Data.Unit Systems

如何使该模块中的代码可用,以便我可以运行书中的代码?

s95*_*163 3

发生这种情况是因为实际上您没有安装 FSharp.Data(所以 Foggy 就在上面)。有一个 FSharp.Data 命名空间,但您需要 nuget 包才能使用它。因此,请访问Tools | Nuget Package Manager | Manage Nuget Packages for Solution并下载最新和最好的FSharp.Data。这会自动将其添加到 VS 中的引用文件中:

Nuget 包

看:

在此输入图像描述

现在你可以使用它:

在此输入图像描述

如果您从 .fsx 脚本中使用它,请确保使用它来引用它#r

#r @"..\packages\FSharp.Data.2.3.2\lib\net40\FSharp.Data.dll"

在这种情况下,您只需右键单击引用(在 nugetting 之后),VS 就会为您生成路径:

在此输入图像描述

如果您没有看到,Send to F# Interactive我强烈建议您安装Visual F# Power Tools

您可以探索访问/序列化 JSON 文件的其他方法:有JSON 类型提供程序Newtonsoft JSONFSharpluChironFSPickler