具有可选属性的JSON类型提供程序的数据样本

时间:2015-03-11 04:43:28

标签: f# type-providers f#-data

我正在尝试使用JSON类型提供程序通过API访问StackOverflow / StackExchange数据。它很有用,但有一点需要注意。 API有一个节流阀,由一个字段"退避"包含您应该在下一次请求之前退回的秒数。 因此,我无法将JSON TP指向URL,因为默认情况下不存在退避字段。这就是响应通常的样子:

  {
  "items": [
    {
      "has_synonyms": true,
      "user_id": 1144035,
      "is_moderator_only": false,
      "is_required": false,
      "count": 7054,
      "name": "sql"
    },
    {
      "has_synonyms": true,
      "user_id": 1144035,
      "is_moderator_only": false,
      "is_required": false,
      "count": 16,
      "name": "algorithm"
    }
  ],
  "has_more": true,
  "quota_max": 10000,
  "quota_remaining": 9693
}

我认为我需要做的是提供一个样本,其中既包含一个没有退避的例子(如上所述),另一个包含以下内容:

  "has_more": true,
  "quota_max": 10000,
  "quota_remaining": 9693,
  "backoff": 10
}

...以便我获得退避选项。但是,我不确定如何构建/准备样本。非常感谢帮助!

1 个答案:

答案 0 :(得分:4)

JSON Type Provider有一个属性SampleIsList,将其设置为true 有一个文档部分解析Twitter流JsonProvider请向下滚动,因为无法直接引用该部分。

您的示例文件应如下所示

[{
  ...
  "has_more": true,
  "quota_max": 10000,
  "quota_remaining": 9693
},{
  ...
  "has_more": true,
  "quota_max": 10000,
  "quota_remaining": 9693,
  "backoff": 10
}]