2016-04-05 7 views
-5

JSONでexclusiveMinimumとexclusiveMaximumのキーワードが必要なのはなぜですか?代わりに</p> <pre><code>{ "type": "number", "minimum": 0, "maximum": 100, "exclusiveMaximum": true } </code></pre> <p>はなぜ我々は書き込むことはできません書き込みの

{ 
    "type": "number", 
    "minimum": 0, 
    "maximum": 101 
} 

私は最初のものは、いずれかのチェック(例:温度、高さなど)のための範囲の面でより優れた可読性を与えるが、第二1が仕事を得るだろう理解しています。

他に具体的な目的はありますか?

UPDATE:blexとjfriend00応答が使用するためのコンテキストを明確にし、スキーマ

を定義する際にこれらのキーワードが便利来る理由に理にかなって私は今、この質問を閉じることができます方法はありますか?

+0

整数だけを扱う場合は問題ありません。しかし、あなたが浮動小数点を扱っているなら、 '100'を書いて' exclusiveMaximum'を設定する方が '99.999999 ... 'を書いたほうがいいかもしれません。しかし、とにかくJSONを構造化するための固定されたルールはありません。ニーズに合わせて簡単に処理することができます。 – blex

+0

あなたの目的によって異なります。あなたが何をしたいのか説明してください。 JSONに –

+1

が必要ですか?私は本当にそれを取得しません – coma

答えて

1

JSONはgeneric formatであり、2つの形式のいずれかを合法的なJSONとして指定することができます。ですから、あなたの質問はJSONに関するものではありません。

私は、これをパラメータとして使用する他の関数に特定のフィールドセットを指定するよう求められていると仮定します。その場合、exclusiveMaximumパラメータの必要性は、このパラメータセットの消費者がそれをどのように使用しているかに完全に関係しており、その特定のライブラリの詳細を調べて、どちらかが良いかどうかを正確に調べる必要があります。

おそらく、境界番号が許可されるかどうか(整数の場合)と浮動小数点数が許容されるかどうかは、間にある浮動小数点数が許可されているかどうかです。

hereに記載されている、提案されているJSON検証スキームがあります。これは、maximumとexclusiveMaximumの説明を提供します。提案された仕様では、exclusiveMaximumをオプションとして記述しています。これは、必要とされているかどうかにかかわらず、この検証スキームをどのコードが使用しているかによってまったく異なります。 JSON検証方式に関するthis particular reference

、それはこのことを言う:

最大exclusiveMaximum存在するがされていない場合、exclusiveMaximumキーワード値がブールfalseであること 考えてよいです。

これは、誰もがこの仕様に従っている場合は、exclusiveMaximumを指定する必要はないことを意味します。

詳細については、このデータ構造を使用しているものと使用しているライブラリを正確に教えてください。

関連する問題