Можно ли установить значения ниже нуля и до максимального значения, JsonSchema? - PullRequest
0 голосов
/ 25 апреля 2020

Я хочу проверить температуру и коэффициент охлаждения со значением ниже нуля, но я не уверен, если использовать минимум: -10, -20 правильно использовать, например.

То же самое относится и к реалистичным c максимальным значениям температуры, коэффициента охлаждения и скорости ветра.

Что правильно использовать?

Большое спасибо.

JsonSchema гласит:

 "type": "object",
    "properties": {
        "weather": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "windSpeed": {
                        "type": "number",
                        "minimum": 0.00
                    },
                    "cityName": {
                        "type": "string"
                    },
                    "currentConditions": {
                        "type": "string",
                        "enum": [ "Cloud", "Snow", "Sun", "Hail", "Rain", "Sleet", "Heavy Rain"]
                    },
                    "temperature": {
                        "type": "number",
                        "minimum": 0.00
                    },
                    "windDirection": {
                        "type": "string",
                        "enum": ["Northerly", "North easterly", "Easterly", "South easterly", "Southerly", "South westerly", "Westerly", "North westerly"]
                    },
                    "windChillFactor": {
                        "type": "number",
                        "minimum": 0.00
                    }

                },
                "required": ["cityId", "cityName", "currentConditions", "temperature", "windSpeed", "windDirection", "windChillFactor"]

            }
        }
    }
}

1 Ответ

1 голос
/ 25 апреля 2020

В общем, когда не уверены в таких вещах, я бы предложил один из следующих двух подходов:

  1. Консультация json -schema.org / понимание- json -schema . Там только multipleOf описывается как разрешающие только положительные значения, но для minimum / maximum любое значение цифры c (включая отрицательные) должно быть в порядке (хотя в примерах используются только положительные значения для простоты).
  2. Используйте онлайн-валидаторы, такие как jsonschemavalidator. net, чтобы проверить вашу схему на примере данных и проверить, не прошла ли она или успешно прошла валидацию, как вы ожидаете.

Кроме того, ваша схема выглядит хорошо. Вы можете включить cityId в weather.items.properties, хотя (и не только в weather.items.required), чтобы также указать его тип.

...