У меня есть схема json:
{
"type ": "record ",
"name ": "JSONSchema",
"namespace ": "com.jsonschema ",
"fields ": [{
"name ": "schema ",
"type ": "string "
},
{
"name ": "body ",
"type ": {
"type ": "record ",
"name ": "BodyFinal ",
"fields ": [{
"name ": "schema ",
"type ": "string "
},
{
"name ": "data ",
"type ": {
"type ": "array ",
"items ": {
"type ": "record ",
"name ": "DataFinal ",
"fields ": [{
"name ": "tna ",
"type ": [
"null ",
"string "
],
"default ": null
},
{
"name ": "aid ",
"type ": [
"null ",
"string "
]
}
]
}
}
}
]
}
}
]
}
Как я могу автоматически сгенерировать классы дел, используя схему как:
case class JSONSchema(schema: String, body: BodyFinal)
case class BodyFinal(schema: String,data: List[DataFinal])
case class DataFinal(tna: Option[String], aid: Option[String])
И затем написать анализатор для проверки любой json, полученный с использованием классов case. Таким образом, если в будущем я изменю схему и добавлю / удаляю в ней все поля, классы дел могут быть сгенерированы и проверены на соответствие JSON.