Как правильно сериализовать вложенные столбцы для двигателя Clickhouse Kafka с помощью C#? ⇐ C#

Место общения программистов C#
Anonymous
Как правильно сериализовать вложенные столбцы для двигателя Clickhouse Kafka с помощью C#?

Сообщение Anonymous »

Я пытаюсь отправить сообщения JSON из приложения C# в Clickhouse через Kafka. Моя цель - хранить данные в таблице с вложенными столбцами, например: < /p>
characteristics Nested (
char_id UInt32,
char_name String,
char_value String
)
< /code>
Я создаю подобные сообщения из C#: < /p>
"characteristics": [
{ "char_id": 1, "char_name": "Color", "char_value": "Red" },
{ "char_id": 2, "char_name": "Size", "char_value": "L" }
]
< /code>
Однако в Clickhouse я получаю пустые массивы ([]) для всех полей характеристик.
Я понял, что Clickhouse ожидает вложенных столбцов в следующем формате: < /p>
"characteristics": {
"char_id": [1, 2],
"char_name": ["Color", "Size"],
"char_value": ["Red", "L"]
}
< /code>
Поэтому я реструктурировал свой код для создания подобных сообщений, и он работает. Но вручную строить словарные планы для каждого вложенного поля (фотографии, теги и т. Д.)-это грязная и склонная к ошибкам. < /P>
Есть ли библиотека C# или встроенный способ автоматического сериализации списка объектов в формат Clickhouse ожидает вложенных колонок? System.text.json, но может перейти на Newtonsoft.json или другие LIBS, если это необходимо.

Подробнее здесь: https://stackoverflow.com/questions/796 ... ne-using-c

Вернуться в «C#»