我正在使用FSharp.Data.JsonProvider解析JSON文件。从http://fsharp.github.io/FSharp.Data/library/JsonProvider.html,我必须声明这样的类型。
type Simple = JsonProvider<"path/to/simple/json.json">
但我希望让JsonProvider更灵活。灵活的我的意思是声明如下。
let x = "path/to/simple/json.json"
type Simple = JsonProvider<x>
因此,JsonProvider可以处理各种json文件,而不仅仅是特定的文件。
我怎样才能做到这一点?或者,还有其他方法吗?
如果您的文件具有相同的形状(即相同的字段和字段类型),那么您可以使用一个作为类型参数,然后将其他文件传递给Parse
:
open System.IO
type Simple = JsonProvider<"file1.json">
let value1 = Simple.GetSample()
let value2 = Simple.Parse(File.ReadAllText "file2.json")