У меня есть следующий объект JSON данные:как правильно преобразовать Avro схемы в JSon схеме
{
"name": "John",
"favorite_number": 5,
"favorite_color" : "green"
}
Схема JSON для этого объекта выглядит следующим образом:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Person",
"description": "some description",
"type": "object",
"properties": {
"name": {
"description": "name",
"type": "string"
},
"favorite_number": {
"type": "number",
},
"favorite_color": {
"type": "string",
},
},
"required": ["name", "favorite_number","favorite_color"]
}
Я могу использовать эту схему в формате JSON, чтобы проверить, соответствует ли мой объект данных к нему:
public static boolean isJsonValid(String schemaText, String jsonText) throws ProcessingException, IOException
{
final JsonSchema schemaNode = getSchemaNode(schemaText);
final JsonNode jsonNode = getJsonNode(jsonText);
return isJsonValid(schemaNode, jsonNode);
}
в моей Java-приложение, я получаю соответствующие AVRO схемы для этого объекта из API вызова REST, и что схема выглядит следующим образом:
{
"namespace": "example.avro",
"type": "record",
"name": "Person",
"fields": [
{"name": "name", "type": "string"},
{"name": "favorite_number", "type": ["int", "null"]},
{"name": "favorite_color", "type": ["string", "null"]}
]
}
Есть общепринятый способ преобразования такой схемы AVRO в JSON схему?
Знаете ли вы, что https://github.com/fge/json-schema-avro? –
Я внимательно посмотрю. благодаря! –
Последний раз, когда это было сделано, было 2014. Я думаю, что это не поддержит проект схемы Json v4. Также я бы не использовал проекты не обновляемые> 12 месяцев. – hiaclibe