LCML/Преобразование

csvtoslicemap

csvtoslicemap - Преобразование CSV-данных в массив мап

Метод

Part: LCML/Преобразование

Функция csvtoslicemap преобразует данные в формате CSV в массив мап, где каждая строка файла представлена как map[string]string, а заголовки CSV используются в качестве ключей.

Формат

csvtoslicemap in
  • in — массив байтов ([]byte), содержащий CSV-данные. Результат

Возвращает массив карт ([]map[string]string), где:

  • Каждый элемент массива соответствует одной строке CSV.

  • Ключами карт являются заголовки CSV.

  • Значениями являются данные соответствующих колонок.

  • Если возникают ошибки (например, неправильный формат CSV), возвращается ошибка (error). Пример использования ???


encodebase64

encodebase64 - Декодирование строки из Base64

Метод

Part: LCML/Преобразование

Формат

encodebase64 payload

  • payload (string) — Строка в формате Base64, которую нужно декодировать. Результат

Возвращает декодированную строку. Если произошла ошибка декодирования, возвращается текст ошибки.

Пример использования


hash

hash - Хеширование строки с использованием SHA-1

Метод

Part: LCML/Преобразование

Функция hash вычисляет хеш строки с использованием алгоритма SHA-1.

Она применяет стандартную библиотеку Go для создания хеша строки и возвращает его в виде шестнадцатеричной строки.

Формат:

hash str
  • str — строка, для которой нужно вычислить хеш. Результат:

Возвращает строковое значение — хеш от переданной строки, представленный в шестнадцатеричном виде.

Пример использования:

{{ $hashedValue := hash "string" }}

jsonescape

jsonescape - Экранирование символов для JSON

Метод

Part: LCML/Преобразование

Функция jsonEscape выполняет экранирование символов в строке для корректного использования в JSON.

Формат:

jsonescape string
  • string — исходная строка для экранирования. Результат:

Возвращает строку с экранированными символами.

Пример использования:

{{ $string := `dog "fish" cat`}}
{{ jsonescape $string }}
>> dog \"fish\" cat

jsonescapeunlessamp

jsonescapeunlessamp - Экранирование символов для JSON (исключая амперсанд &)

Метод

Part: LCML/Преобразование

Функция jsonEscapeUnlessAmp выполняет экранирование символов в строке для корректного использования в JSON, но сохраняет амперсанд (&) неизменным.

Формат:

jsonescapeunlessamp string
  • string — исходная строка для экранирования. Результат:

Возвращает строку с экранированными символами, за исключением амперсанда (&).

Пример использования:

{{ jsonescapeunlessamp `dog "fish" & cat` }}
>> dog \"fish\" & cat

marshal

marshal - Преобразуем в JSON

Метод

Part: LCML/Преобразование

Фукнция marshal преобразует переданный объект в строковое значение в формате JSON.

Формат


**marshal**  object

object - переданных объект

Пример


{{ $s := marshal $.Value }}

В данном примере в переменную $s передается сериализованное значение объекта Value из текущего контекста ($.)


todate

todate - Функция todate преобразует строку в объект time.Time на основе указанного формата.

Метод

Part: LCML/Преобразование

Формат

todate fmt str

  • fmt: Формат строки даты, например, “2006-01-02 15:04:05”.

  • str: Строка с датой, которую необходимо преобразовать. Результат Возвращает объект time.Time, соответствующий указанной строке.

Пример использования

{{ $fmt := “2006-01-02 15:04:05” }} {{ $str := “2025-01-10 14:30:00” }} {{ $date := todate $fmt $str }} {{ $date }} >> 2025-01-10 14:30:00 +0000 UTC


todecimal

todecimal - Функция todecimal преобразует значение из восьмеричной системы счисления в десятичное.

Метод

Part: LCML/Преобразование

Формат

todecimal v

  • v: строка или число в восьмеричной системе. Результат

Возвращает десятичное значение в формате int64.

Пример использования

{{ $res := todecimal “17” }} {{ $res }} >> 15


tofloat

tofloat - Преобразуем в формат вещественного числа (с запятой)

Метод

Part: LCML/Преобразование

Функция tofloat преобразует строковое или числовое значение в формат вещественного числа. Если преобразование невозможно, возвращается значение -1.

Формат:

tofloat value
  • value — входное значение в строковом или числовом формате. Результат:

Возвращает значение в формате вещественного числа.

Примеры:

{{ tofloat "12.34" }}

Результат:

12.34
{{ tofloat "45,67" }}

Результат:

45.67
{{ tofloat "abc" }}

Результат:

-1
{{ tofloat " 78.9 " }}

Результат:

78.9

tohtml

tohtml - Преобразование в HTML

Метод

Part: LCML/Преобразование

Функция tohtml преобразует строку в формат HTML для безопасного рендеринга в шаблонах. Используется для вставки HTML-кода в шаблоны.

Формат:

tohtml value
  • value — строковое значение. Результат:

Возвращаемый тип: template.HTML.

Пример:

{{ tohtml "<b>Bold</b>" }}
>> <b>Bold</b>

toint

toint - Преобразование в целое число

Метод

Part: LCML/Преобразование

Функция toint преобразует строку или значение другого типа в целое число.

Формат:

toint value

Результат

Возвращает int или -1, если преобразование невозможно.

Пример:


{{ toint "42" }}
>> 42

{{ toint "abc" }}
>> -1
  • value - значение любого типа.

tointerface

tointerface - Преобразование в интерфейс

Метод

Part: LCML/Преобразование

Функция tointerface преобразует входное значение в интерфейс, сериализует его в JSON и десериализует обратно. Используется для приведения типов с автоматическим преобразованием сложных структур.

Формат

tointerface input
  • input - данные любого типа. Результат:

Возвращает преобразованный интерфейс или ошибку, если преобразование невозможно.


tojson

tojson - Функция tojson кодирует данные в строку формата JSON.

Метод

Part: LCML/Преобразование

Формат

tojson v

  • v: Данные для кодирования. Результат

Возвращает строку в формате JSON.

Пример использования

{{ $data := map “key” “value” }} {{ $json := tojson $data }} {{ $json }} >> {“key”:“value”}


tolower

tolower - Преобразование строки в нижний регистр

Метод

Part: LCML/Преобразование

Функция tolower преобразует все символы входной строки в нижний регистр..

Формат:

tolower value
  • value — строка, которая должна быть преобразована.. Результат:

Возвращает строку, где все буквы приведены к нижнему регистру.

Пример:

{{ $helloString := tolower "Hello, WORLD!" }}
{{ $helloString }}

>> hello, world!


tomoney

tomoney - Форматирование числа в денежный формат

Метод

Part: LCML/Преобразование

Функция tomoney преобразует строку числа в формат денежного представления с разделением тысячных разрядов указанным разделителем.

Формат:

tomoney str dec
  • str — строка, представляющая число.
  • dec — строка, которая используется в качестве разделителя тысяч. Результат:

Возвращает строку, отформатированную с разделителем тысячных разрядов.

Пример:


{{ $amount := tomoney "111234567" "," }}
{{ $amount }}
>> 111,234,567

{{ $amount := tomoney "987654321" " " }}
{{ $amount }}
>> 987 654 321

toprettyjson

toprettyjson - Функция toprettyjson кодирует данные в форматированный JSON с отступами.

Метод

Part: LCML/Преобразование

Формат

toprettyjson v

  • v: Данные для кодирования. Результат

Возвращает форматированную строку JSON.

Пример использования

{{ $data := marshal dict “key” “value” }} {{ $json := toprettyjson $data }} {{ $json }} >> { “key”: “value” }


tostring

tostring - Преобразование в строку

Метод

Part: LCML/Преобразование

Функция tostring преобразует переданное значение в строку.

Формат:

tostring value
  • value — значение любого типа. Результат:

Строковое значение.

Примеры:

{{ tostring 123 }}

Результат:

"123"
{{ tostring true }}

Результат:

"true"

unmarshal

unmarshal - Преобразование значения из JSON в объект

Метод

Part: LCML/Преобразование

Функция unmarshal преобразует строковое значение в формате JSON в объект (структуру).Используется для работы с JSON-данными, чтобы получить удобный для обработки объект.

Формат:

unmarshal string
  • string — строковое значение в формате JSON. Результат:

Возвращается объект (например, словарь или структура), построенный из JSON-строки.Если переданная строка не соответствует формату JSON, возвращается пустой объект.

Пример:


1. Простой кейс
{{ $textjson := `{"key1":"value1"}` }}
{{ $s := unmarshal $textjson }}

2. Пользовательский сценарий
{{ $queryparams := dictstring "tpls" $tickets "limit" "100" "filter_src" $p "filter_field" "author" "short" "false" }}
{{ $objTickets = unmarshal (apisearch "" $queryparams false) }}

В примере создаётся словарь параметров запроса $queryparams, который используется для фильтрации и настройки запроса через функцию apisearch.

Возвращённые данные в формате JSON преобразуются функцией unmarshal в объект $objTickets, с которым затем можно удобно работать в шаблоне.

Сценарий подходит для задач, связанных с динамическим извлечением и обработкой данных, таких как поиск или фильтрация тикетов.