Преобразование данных¶
Доступные модули:
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.