从类型获取json

FSharp.Data.JsonProvider提供了一种从json转换到F#类型的方法。 是否有可能进入相反的方向,即声明由FSharp.Data.JsonProvider创建的类型之一的实例,将字段值设置为我所需要的,然后获取等效的json?

我尝试过这样的事情,

type Simple = JsonProvider<""" { "name":"John", "age":94 } """>

let fred = Simple( 
            Age = 5, // no argument or settable property 'Age'
            Name = "Fred")

最新版本的F#Data现在支持这一点。 请参阅http://fsharp.github.io/FSharp.Data/library/JsonProvider.html中的最后一个示例。

你的例子是:

type Simple = JsonProvider<""" { "name":"John", "age":94 } """>
let fred = Simple.Root(age = 5, name = "Fred")

这是C#与F#相比的一个领域,至少在Visual Studio中是这样。 您可以将JSON示例代码复制到剪贴板,并在Visual Studio中使用编辑 - >选择性粘贴 - >将JSON粘贴为类,它将创建一个类以匹配JSON示例。 从那里你可以很容易地使用F#中的类。

关于粘贴的更多细节,请点击

希望不久之后F#也会有一个匹配功能。

链接地址: http://www.djcxy.com/p/19413.html

上一篇: Getting json from types

下一篇: Object Orientation: How to Choose from a Number of Implementations