Мне нужна помощь в создании моей собственной схемы json

#json #structure #python-jsonschema

#json #структура #python-jsonschema

Вопрос:

Как мне создать свою собственную схему json для проверки того, что json, возвращаемый из API, имеет ту же структуру? У меня есть этот образец JSON

 {
  "httpStatus": 200,
  "httpStatusMessage": "success",
  "timestamp": "2020-11-11T19:32:45",
  "response": {
    "header": {
      "SchoolId": 10006,
      "SchoolName": "Naples"
    },
    "body": {
      "dataProviders": [
        {
          "dataProviderId": 14,
          "students": [
            {
              "studentId": 1000611000,
              "driverGrade": "Junior",
              "firstName": "Authur",
              "lastName": "Boccuto"
            },
            {
              "studentId": 1000611001,
              "studentGrade": "Senior",
              "firstName": "Antwan",
              "lastName": "Carter"
            }
          ]
        }
      ]
    }
  }
}
 

Иногда она может иметь другую структуру, и мне нужно создать свою собственную схему json, чтобы убедиться, что она одинакова, прежде чем манипулировать данными json. Как мне создать свою собственную схему, чтобы убедиться, что она имеет правильную структуру?

Комментарии:

1. Не связано с вашим вопросом: какой смысл возвращать код состояния HTTP и фразу причины в теле ответа? Их место в заголовке. Запрос на успешное выполнение должен возвращаться 200 OK , в то время как запрос, который не может быть обработан из-за его содержимого или ошибок, должен возвращаться 400 Bad Request или 404 Not Found или что-то подходящее. Не отвечайте на все запросы с 200 OK помощью! Используйте HTTP так, как он был разработан. О, я забыл, читайте о схеме JSON на (где еще?) json-schema.org .

2. @axiac я задал тот же вопрос. Они всегда отправляют статус обратно.