创建类型为f#的值

时间:2019-04-25 06:17:36

标签: types f#

  type ExcludeToIncludeCombinationsWhenMergingJson = JsonProvider<"""
  {
    "data": {
      "excludeToIncludeList": [
        {
          "budgetType": "bottomUp",
          "budgetYear": 2019,
          "outletId": 9223372036854775806
        },
        {
          "budgetType": "bottomUp",
          "budgetYear": 2019
        }
      ]
    }
  }
  """,SampleIsList=true>

我是f#的新手。我有这样的类型。如何创建此类型的值? 我真的为此感到挣扎。

我尝试过

let r = ExcludeToIncludeCombinationsWhenMergingJson.Root(ExcludeToIncludeCombinationsWhenMergingJson.Data(ExcludeToIncludeCombinationsWhenMergingJson.ExcludeToIncludeList([{BudgetType = "bottomup"; BudgetYear = 2019; OutletId = 5;}]))) 

它不起作用。任何帮助将不胜感激。我可以阅读的任何文档

1 个答案:

答案 0 :(得分:0)

要创建类型为'default': { 'ENGINE': 'sql_server.pyodbc', 'NAME': 'oms', 'PORT': '1433', 'HOST': 'ADMINRG-EDOFT5N', 'USER': 'vikas', 'PASSWORD': '111111', 'DRIVER': 'ODBC Driver 13 for SQL Server' }的值,您需要使用输入来调用方法ExcludeToIncludeCombinationsWhenMergingJson,该方法是您要解析的真实json字符串,如下所示:

Parse

请注意,let jsonString = ... // read from file or network let r = ExcludeToIncludeCombinationsWhenMergingJson.Parse jsonString // now use r r.Data.ExcludeToIncludeList ... 无效(示例字符串中没有正确的结构/格式)时,Parse方法将引发异常。

要解析示例json字符串本身,可以使用方法jsonStringGetSample(仅当示例json字符串为列表时,后者才可用)。

还要注意,您发布的示例json字符串不是列表,因此请删除GetSamples

有关更多详细信息,请参阅Json Type Provider的正式文档:http://fsharp.github.io/FSharp.Data/library/JsonProvider.html