{
"name": "Alex",
"age": 28,
"havePets": true,
"petsName": ["Rex", "Bars", "Charles"],
"oneOfPets": {
"petsName": "Rex",
"petsAge": 3,
"petsType": "dog"
},
"haveCar": null
}
Давайте сначала подумаем и разберемся:
-
Мы работаем с JSON и как мы помним, JSON - это объект
-
В нем есть 6
"properties"
, а именно name, age, havePets, petsName, OneOfPets,haveCar
-
Кроме
haveCar
все остальные поля являются обязательными. Значит у нас есть 5"required"
-
PetsName - является массивом. Внутри этого массива могут быть только строки
-
oneOfPets
- является вложенным объектом. Соответсвенно у вложенного объекта есть свои обязательные (в данном случае)"properties"
, а именно:- petsName
- petsAge
- petsType
Соответственно все эти ключи, являются
"required"
. При этом мы ждем, что petsName и petsType должны быть строками, а petsAge - числом. Это мы можем указать в"type"
-
haveCar
- не является обязательным полем, поэтому он не входит в"required"
Тип данных может быть
"null"
(в случае если пользователь не указал ничего в этом поле) или"string"
, если пользователь указал марку автомобиля
{
"type": "object",
"properties": {
"name": {"type": "string"},
"age": {"type": "number"},
"havePets": {"type": "boolean"},
"petsName": {"type": "array",
"items": {"type": "string"}
},
"oneOfPets": {"type": "object",
"properties": {"petsName": {"type": "string"},
"petsAge": {"type": "number"},
"petsType": {"type": "string"}},
"required": [ "petsName", "petsAge", "petsType" ]
},
"haveCar": {"type": [ "null", "string" ]}
},
"required": [ "name", "age", "havePets", "petsName", "oneOfPets" ]
}
4.2.3.2 iOS Data Persistance Folder | Back To iOSWiki Contents | 4.2.4 Design Theme Folder