Я пытаюсь использовать avro в python для сериализации данных XML. Я могу определить необязательное кодирование полей, но как мне сделать повторяющиеся поля?
Например, с учетом этой схемы, как мне сделать любимое_число повторяющимся полем, чтобы кто-то мог иметь более одного любимого_числа?
{"namespace": "example.avro",
"type": "record",
"name": "User",
"fields": [
{"name": "name", "type": "string"},
{"name": "favorite_number", "type": "int"},
{"name": "favorite_color", "type": ["string", "null"]}
]
}
1 ответ
Из спецификации, может быть что-то вроде этого ...
# For example, a linked-list of 64-bit values may be defined with:
{
"type": "record",
"name": "LongList",
"aliases": ["LinkedLongs"], // old name for this
"fields" : [
{"name": "value", "type": "long"}, // each element has a long
{"name": "next", "type": ["LongList", "null"]} // optional next element
]
}
Или вы можете использовать массив ...
# Arrays use the type name "array" and support a single attribute:
#
# items: the schema of the array's items.
# For example, an array of strings is declared with:
{"type": "array", "items": "int"}
Кроме того, вы можете вкладывать записи вот так.
Похожие вопросы
Связанные вопросы
Новые вопросы
python
Python — это мультипарадигмальный многоцелевой язык программирования с динамической типизацией. Он предназначен для быстрого изучения, понимания и использования, а также обеспечивает чистый и унифицированный синтаксис. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Если у вас есть вопросы о версии Python, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas, NumPy) укажите это в тегах.