Преобразование данных
Доступные модули:
- 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 (универсальный уникальный идентификатор);
- uri
- модуль для преобразования строк URI в компоненты этих строк и обратно. Доступен с версии 2.17.0. Поддерживаемые методы:
uri.parse()- разобрать строку URI на компоненты;uri.format()- сформировать строку URI из указанных компонентов;uri.escape()- кодировать строку, используя заданные опции кодирования;uri.unescape()- декодировать строку, используя заданные опции кодирования;uri.parse_many()- разобрать одну или несколько строк URI на компоненты;uri.unreserved()- создать аргумент для методаuri.escape()из переданной строки. Эти символы не будут экранироваться;
xml- модуль для анализа XML, обертка вокруг Tarantool-модуля luarapidxml. Доступен с версии 2.18.0.
Помимо модулей, для работы доступна константа
box.NULL (нулевой указатель) из встроенного
Tarantool-модуля box.
Модуль mapping_tools содержит функции для работы со значениями внутри
объектов.
Получает значение из объекта по его пути с заданным разделителем.
Параметры:
-
obj(table) — объект -
path(string) — путь к объекту -
delimiter(string) — разделитель ([.]{.title-ref} по умолчанию).
Возвращает
объект
Тип возвращаемого значения
table
Присваивает значение объекту по его пути с заданным разделителем.
Параметры:
-
obj(table) — объект -
path(string) — путь к объекту -
value(table) — значение объекта -
delimiter(string) — разделитель ([.]{.title-ref} по умолчанию).
Возвращает
none
Получает значение из одного объекта и присваивает его другому объекту.
Параметры:
-
source_object(table) — исходный объект, из которого получают значение -
source_path(string) — путь к исходному объекту -
target_object(table) — целевой объект, которому передается значение исходного объекта -
target_path(string) — путь к целевому объекту
Возвращает
none
Модуль soap содержит функции для преобразования SOAP-запроса в формате
XML в объекты Lua и обратно.
Преобразует Lua-таблицу в строку с XML-документом.
Параметры:
data(table) — Lua-таблица
Возвращает
XML-документ
Тип возвращаемого значения
string
Преобразует строку с XML-документом в объекты Lua.
Параметры:
doc(string) — XML-документ
Возвращает
объекты Lua, полученные в результате парсинга XML.
- строка, содержащая указатель на пространство имен (
namespace); - строка с именем метода, переданного в SOAP-запросе (
method); - Lua-таблица, которая содержит значения, переданные в тегах
SOAP-запроса (
entries).
Тип возвращаемого значения
string or table
Функции из модуля json для преобразования строки в формате JSON в объект Lua и обратно.
Преобразует объект Lua в строку в формате JSON.
Параметры:
-
lua_value(table/scalar) — объект Lua -
configuration— дополнительные опции конфигурации (см. функцию json.cfg())
Возвращает
JSON-строка
Тип возвращаемого значения
string
Преобразует JSON-строку в объект Lua.
Параметры:
-
string(string) — строка в формате JSON -
configuration— дополнительные опции конфигурации (см. функцию json.cfg())
Возвращает
Lua-таблица
Тип возвращаемого значения
table
Функция из модуля yaml для преобразования строки в формате YAML в объект Lua.
Преобразует объект Lua в строку в формате YAML.
Параметры:
lua_value(table/scalar) — объект Lua
Возвращает
YAML-строка
Тип возвращаемого значения
string
Модуль table содержит функции для работы с таблицами в Lua. Информация
о модуле table и доступных функциях приведена в
справочнике по встроенным модулям. Кроме того, модуль расширен двумя дополнительными
функциями:
Сравнение двух таблиц с учетом вложенности.
Параметры:
-
got(lua-value) — фактический результат -
expected(lua-value) — ожидаемый результат -
extra(table) — таблица, в которой сохраняется путь для различающихся элементов
Возвращает
результат сравнения, true или false
Тип возвращаемого значения
boolean
Копирует один массив в конец другого массива. При этом используется неглубокое (shallow) копирование.
Параметры:
-
where(table) — целевая таблица, в которую вставляют значения из первой таблицы -
from(table) — таблица, значения которой добавляют в целевую таблицу
Возвращает
целевая таблица
Тип возвращаемого значения
table
Константа box.NULL представляет собой нулевой указатель (NULL
pointer). box.NULL позволяет хранить ключ без значения, в таблицах эта
константа является местозаполнителем для значения nil. Имеет тип
cdata. Чтобы узнать больше о box.NULL, обратитесь к
соответствующему разделу справочника> в документации Tarantool.