Я пытаюсь проверить массив объектов json, размер которых является динамическим, с помощью схемы avro в apache Nifi. Я понимаю, что если размер известен, мы можем написать схему для проверки. Есть ли способ проверить, даже если размер динамический.
Запись Json выглядит следующим образом
"multi_location" : [
{
"cityState" : "Seattle, Washington",
"country" : "United States",
"city" : "Seattle",
"location" : "Seattle, Washington, United States",
"cityCountry" : "Seattle, United States",
"cityStateCountry" : "Seattle, Washington, United States",
"state" : "Washington",
"mapQueryLocation" : "Seattle, Washington, United States",
"stateCountry" : "Washington, United States"
},
{
"cityState" : "Toronto, Ontario",
"country" : "Canada",
"city" : "Toronto",
"location" : "Toronto, Ontario, Canada",
"cityCountry" : "Toronto, Canada",
"cityStateCountry" : "Toronto, Ontario, Canada",
"state" : "Ontario",
"mapQueryLocation" : "Toronto, Ontario, Canada",
"stateCountry" : "Ontario, Canada"
},
{
"cityState" : "Vancouver, British Columbia",
"country" : "Canada",
"city" : "Vancouver",
"location" : "Vancouver, British Columbia, Canada",
"cityCountry" : "Vancouver, Canada",
"cityStateCountry" : "Vancouver, British Columbia, Canada",
"state" : "British Columbia",
"mapQueryLocation" : "Vancouver, British Columbia, Canada",
"stateCountry" : "British Columbia, Canada"
}
]
1 ответ
Вам не нужно знать размер массива, чтобы проверить его, если каждый объект в массиве имеет одинаковую схему. В схеме Avro достаточно указать тип массива с элементами которые определяются схемой каждого из отдельных элементов, перечисленных выше. Если некоторые поля могут быть не заполнены для некоторых объектов в массиве, вы можете сделать их «необязательными», сделав поле Объединение, включая "нулевой" тип для этих полей.
Похожие вопросы
Новые вопросы
apache-nifi
Apache NiFi - это простая в использовании, мощная и надежная распределенная система для преобразования и распространения данных.