Как установить ограничение на JSON значение объекта схемы? - PullRequest
1 голос
/ 17 марта 2020

Я хочу проверить определенное значение для множественной записи в файле json. Я написал JsonSchema, но он не показывает мне правильный результат.

Например:

"student": [
                        {
                            "main": false, 
                            "name": "Robert"  
                        }, 
                        {
                            "main": true, 
                            "name": "Jannet"
                        },
                        {
                            "main": false, 
                            "name": "Julie"
                        }
                    ]

файл json будет проверен, если у него будет только одна истина для "main" и отдых будет ложным Если оно имеет несколько истинных значений, оно не будет проверено. Я попробовал следующее jsonSchema:

"student":{
                                "type":"array",
                                "items":{
                                    "type":"object",
                                    "required":["name","main"],
                                    "properties":{
                                        "name":{
                                            "type":"string"
                                        },
                                        "main":{
                                            "type":"boolean"
                                        }
                                    },
                                            "anyOf":[
                                        {
                                            "properties":{
                                                "main":
                                                {
                                                "enum":[true]

                                                }   
                                            }
                                        }
                                    ]
                                }
                            }

1 Ответ

0 голосов
/ 17 марта 2020

К сожалению, это невозможно с JSON Schema.

Единственный способ, которым это МОЖЕТ быть возможным с JSON Schema, - это если вам также требуется, чтобы элемент в массиве main: true был первый пункт.

Если вы МОЖЕТЕ поручить это, дайте мне знать в комментарии, и я обновлю этот ответ, чтобы объяснить, как это будет работать.

...