如何在javascript中处理FSharpOption对象

时间:2014-12-18 17:35:53

标签: f#

我使用web api发送要放入剑道网格的FSharp记录列表

[<DataContract>]
type MyClass = {
   [<field: DataMember(Name="Foo")>]
   Foo: int
   [<field: DataMember(Name="Bar")>]
   Bar: DateTime option
}
$.getJSON(myUrl).done(function(data) {
   console.log(data);
   ds.data(data);
   var grid = $('#myGrid').data("kendoGrid");
   grid.setDataSource(ds);

当我在网格中看到它时,int显示正常,但是&#34; Bar&#34;才不是。 在控制台中:

Bar: Object
--Case: "Some"
--Fields: Array[1]
----0: "2014-12-18T17:01:34.0071449Z" 

如何在javascript中处理这种类型的对象?或者将其视为可以为空的对象?

1 个答案:

答案 0 :(得分:1)

一般来说,最好避免将F#特定类型(如歧视联盟)传递给非F#语言。您可以使用数据协定在序列化期间将数据转换为更可用的形式。如果您使用的是json.net,则可以使用示例here