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

问题描述 投票:0回答:1

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

我怎样才能做到这一点?或者,还有其他方法吗?

f# f#-data
1个回答
1
投票

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

open System.IO

type Simple = JsonProvider<"file1.json">

let value1 = Simple.GetSample()
let value2 = Simple.Parse(File.ReadAllText "file2.json")
© www.soinside.com 2019 - 2024. All rights reserved.