Mat*_*ias 6 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
}
Run Code Online (Sandbox Code Playgroud)
我假设我需要做的是提供一个样本,其中包含一个没有退避的示例(如上所述),以及一个沿着这样的行:
"has_more": true,
"quota_max": 10000,
"quota_remaining": 9693,
"backoff": 10
}
Run Code Online (Sandbox Code Playgroud)
...所以我得到了退避选项.但是,我不确定如何构建/准备样本.非常感谢帮助!
小智 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
}]
Run Code Online (Sandbox Code Playgroud)