在JSON API中表示无穷大的最佳方法是什么?例如,可以免费阅读本月的文章(对于某些订阅,这将是一个有限的数字,对于高级订阅,这将是无限的).
返回null此用例或扩展 JSON并使用javascript的Infinity值是一个更好的主意吗?后者似乎更合适,但我从未见过这样做的API的例子.
如果有人有任何代表无限的公共Web API的例子,那也很酷.
我将包含一个“限制”字段,该字段仅在确实存在限制时才存在:
当用户剩下40个时:
{
"yourdata":"",
"limit": 40
}
Run Code Online (Sandbox Code Playgroud)
当用户具有无限访问权限时,将其删除,这意味着没有限制:
{
"yourdata":""
}
Run Code Online (Sandbox Code Playgroud)
我的建议是使用数字表示特定值,使用字符串表示理论值。我觉得最清楚了。
{
"shoes": 89,
"cars": "infinity",
"myBankAccount": "negative-infinity"
}
Run Code Online (Sandbox Code Playgroud)
然而,这似乎不是流行的选择。我已经看到-1, null, 和undefined(没有属性)在很多情况下意味着无限。
在 VMware,我们使用 -1 来指定没有限制(内存、CPU、VM)并且我们在使用 null 时遇到了问题,因为 BlazeDS 将 null 转换为 0,而 0 是一个有效值。
小智 5
数字 1e500 被解析为无穷大
console.log(1e500); // Gives Infinity
Or
JSON.parse('{"number": 1e500}'); // Gives {number: Infinity}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2486 次 |
| 最近记录: |