JSON-схема предназначена для описания структуры сообщения, регистрируемого модулем. Она определяет состав полей, их типы данных, а также строгую последовательность (позицию) в сериализованном массиве байт.
Основные параметры
В корне JSON-объекта указываются имена полей, значениями которых являются объекты с описанием:
-
type: Определяет тип данных поля. -
layout: Целочисленный индекс, указывающий позицию поля в сериализованном массиве байт. -
data: Используется для описания внутреннего содержимого составных типов. Например, еслиtype— этоarray, то вdataуказывается тип элементов массива. -
return: Специальное поле, содержащее описание формата возвращаемого значения.
Доступные типы данных
Система поддерживает следующие типы данных:
-
int: 64-битное целое число со знаком.
-
float: 64-битное число с плавающей запятой.
-
string: Строковые данные.
-
uuid: Уникальный идентификатор (UUID).
-
user-id: Идентификатор пользователя.
-
array: Динамический массив элементов (тип элементов уточняется в поле
data).
Пример реализации
Ниже представлен пример схемы, описывающей сообщение с двумя строковыми полями и возвращаемым значением в виде массива строк.
{
"return": {
"type": "array",
"data": "string"
},
"from": {
"type": "string",
"layout": 0
},
"to": {
"type": "string",
"layout": 1
}
}