如何动态使用FSharp.Data.JsonProvider?

时间:2019-04-20 14:51:14

标签: f# f#-data

我正在使用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文件,而不仅仅是特定文件。

我该怎么做?还是还有其他方法?

1 个答案:

答案 0 :(得分:1)

如果文件具有相同的形状(即相同的字段和字段类型),则可以使用一个作为类型参数,然后将其他参数传递给Parse

open System.IO

type Simple = JsonProvider<"file1.json">

let value1 = Simple.GetSample()
let value2 = Simple.Parse(File.ReadAllText "file2.json")