我正在使用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文件,而不仅仅是特定文件。
我该怎么做?还是还有其他方法?
答案 0 :(得分:1)
如果文件具有相同的形状(即相同的字段和字段类型),则可以使用一个作为类型参数,然后将其他参数传递给Parse
:
open System.IO
type Simple = JsonProvider<"file1.json">
let value1 = Simple.GetSample()
let value2 = Simple.Parse(File.ReadAllText "file2.json")