Преобразование данных | Tdg

Версия:

2.x
Справочник Sandbox API Преобразование данных

Преобразование данных

Доступные модули:

  • mapping_tools – работа со значениями объекта;

  • soap – конвертация XML-документов в объекты Lua и обратно;

  • json – конвертация JSON-строк в объект Lua и обратно;

  • yaml – конвертация YAML-строк в объект Lua и обратно;

  • msgpack – конвертация строк MsgPack в объекты Lua и обратно;

  • table – работа с таблицами в Lua;

  • decimal – вычисления с точными числами;

  • digest – кодирование и хеширование;

  • fun – библиотека Luafun для функционального программирования;

  • math – интерфейс стандартной математической библиотеки Lua;

  • string – работа со строками в Lua;

  • utf8 – обработка строк в кодировке UTF-8;

  • uuid – модуль для работы с UUID (универсальный уникальный идентификатор).

Помимо модулей, для работы доступна константа box.NULL (нулевой указатель) из встроенного Tarantool-модуля box.

mapping_tools

Модуль mapping_tools содержит функции для работы со значениями внутри объектов.

mapping_tools.get_by_path(obj, path[, delimiter])

Получает значение из объекта по его пути с заданным разделителем.

Параметры
  • obj (table) – объект

  • path (string) – путь к объекту

  • delimiter (string) – разделитель (. по умолчанию).

Результат

объект

Тип результата

table

mapping_tools.set_by_path(obj, path, value[, delimiter])

Присваивает значение объекту по его пути с заданным разделителем.

Параметры
  • obj (table) – объект

  • path (string) – путь к объекту

  • value (table) – значение объекта

  • delimiter (string) – разделитель (. по умолчанию).

Результат

none

mapping_tools.just_get_and_set(source_object, source_path, target_object, target_path)

Получает значение из одного объекта и присваивает его другому объекту.

Параметры
  • source_object (table) – исходный объект, из которого получают значение

  • source_path (string) – путь к исходному объекту

  • target_object (table) – целевой объект, которому передается значение исходного объекта

  • target_path (string) – путь к целевому объекту

Результат

none

soap

Модуль soap содержит функции для преобразования SOAP-запроса в формате XML в объекты Lua и обратно.

soap.encode(data)

Преобразует Lua-таблицу в строку с XML-документом.

Параметры

data (table) – Lua-таблица

Результат

XML-документ

Тип результата

string

soap.decode(doc)

Преобразует строку с XML-документом в объекты Lua.

Параметры

doc (string) – XML-документ

Результат

объекты Lua, полученные в результате парсинга XML.

  • строка, содержащая указатель на пространство имен (namespace);

  • строка с именем метода, переданного в SOAP-запросе (method);

  • Lua-таблица, которая содержит значения, переданные в тегах SOAP-запроса (entries).

Тип результата

string or table

json

Функции из модуля json для преобразования строки в формате JSON в объект Lua и обратно.

json.encode(lua_value[, configuration])

Преобразует объект Lua в строку в формате JSON.

Параметры
  • lua_value (table/scalar) – объект Lua

  • configuration – дополнительные опции конфигурации (см. функцию json.cfg())

Результат

JSON-строка

Тип результата

string

json.decode(string[, configuration])

Преобразует JSON-строку в объект Lua.

Параметры
  • string (string) – строка в формате JSON

  • configuration – дополнительные опции конфигурации (см. функцию json.cfg())

Результат

Lua-таблица

Тип результата

table

yaml

Функция из модуля yaml для преобразования строки в формате YAML в объект Lua.

yaml.encode(lua_value)

Преобразует объект Lua в строку в формате YAML.

Параметры

lua_value (table/scalar) – объект Lua

Результат

YAML-строка

Тип результата

string

table

Модуль table содержит функции для работы с таблицами в Lua. Информация о модуле table и доступных функциях приведена в справочнике по встроенным модулям. Кроме того, модуль расширен двумя дополнительными функциями:

table.cmpdeeply(got, expected[, extra])

Сравнение двух таблиц с учетом вложенности.

Параметры
  • got (lua-value) – фактический результат

  • expected (lua-value) – ожидаемый результат

  • extra (table) – таблица, в которой сохраняется путь для различающихся элементов

Результат

результат сравнения, true или false

Тип результата

boolean

table.append_table(where, from)

Копирует один массив в конец другого массива. При этом используется неглубокое (shallow) копирование.

Параметры
  • where (table) – целевая таблица, в которую вставляют значения из первой таблицы

  • from (table) – таблица, значения которой добавляют в целевую таблицу

Результат

целевая таблица

Тип результата

table

Константа box.NULL

Константа box.NULL представляет собой нулевой указатель (NULL pointer). box.NULL позволяет хранить ключ без значения, в таблицах эта константа является местозаполнителем для значения nil. Имеет тип cdata. Чтобы узнать больше о box.NULL, обратитесь к соответствующему разделу справочника> в документации Tarantool.

Нашли ответ на свой вопрос?
Обратная связь