Javascript 为什么JSON中需要ExclusiveMinum和exclusiveMaximum关键字?

Javascript 为什么JSON中需要ExclusiveMinum和exclusiveMaximum关键字?,javascript,json,Javascript,Json,而不是写作 { "type": "number", "minimum": 0, "maximum": 100, "exclusiveMaximum": true } 为什么我们不能写 { "type": "number", "minimum": 0, "maximum": 101 } 我知道第一个在任何检查的范围(例如温度、高度等)方面具有更好的可读性,但第二个将完成工作 还有其他特殊用途吗 UPDATE:blex和jfriend00的响应使上下文更清晰,便于使用

而不是写作

{
  "type": "number",
  "minimum": 0,
  "maximum": 100,
  "exclusiveMaximum": true
}
为什么我们不能写

{
  "type": "number",
  "minimum": 0,
  "maximum": 101
}
我知道第一个在任何检查的范围(例如温度、高度等)方面具有更好的可读性,但第二个将完成工作

还有其他特殊用途吗

UPDATE:blex和jfriend00的响应使上下文更清晰,便于使用,并解释了为什么在定义模式时这些关键字会派上用场

现在有什么方法可以结束这个问题吗?JSON是一种格式,您可以将两种格式中的任何一种指定为合法JSON。所以,你的问题根本不是关于JSON的

我假设您被要求为其他函数提供一组特定的字段,这些函数将此字段作为参数。在这种情况下,
exclusivemaxium
参数的需要完全取决于这组参数的使用者是如何使用它的,您必须查看特定库的详细信息,以确切了解其中一个更好的原因

很可能,区别在于是否允许边界数(如果是整数)和是否允许浮点数,中间的浮点数是否允许

本文描述了一个提议的JSON验证方案,该方案对最大值和排他最大值进行了一些解释。在建议的规范中,它将exclusiveMaximum描述为可选的,因此,它将完全取决于使用此验证方案的代码是什么,取决于它是否是必需的(您尚未与我们共享的内容)

关于JSON验证方案,它说:

如果存在最大值,但不是排他最大值,则可以考虑该值
exclusivemaxium
关键字值为布尔值false

这意味着,如果每个人都遵守规范,则不需要指定
exclusivemaxium


要获得更多帮助,请确切地告诉我们您使用此数据结构的目的以及使用它的库。

如果您只处理整数,则无所谓。但是如果你在处理浮动,写
100
和设置
exclusivemaxium
可能比写
99.999999…
要好。但无论如何,没有固定的规则来构造JSON。只要让它尽可能容易地处理,以满足您的需要。这取决于您的目的。请解释一下,你喜欢用它做什么。需要JSON吗?我真的不明白这和JSON没有什么关系,就像拼写错误和文字处理器有关一样。你必须更准确才能得到一个好的答案。