JSON

json.validate

Проверяет JSON и возвращает сведения об ошибке в случае сбоя анализа.

Синтаксис

json.validate(json: string, options?: DecodeOptions): boolean | string | nil | number | nil

Аргументы

ИмяТипОписание
jsonstringСтрока JSON для анализа, форматирования, минимизации или проверки.
options?DecodeOptionsДополнительная таблица настроек, которая управляет поведением операции.

Возвраты

ИмяТипОписание
validbooleanИстинно, если строка JSON действительна.
errorMessagestring | nilСообщение об ошибке возвращается при сбое загрузки или анализа, в противном случае - ноль.
errorPositionnumber | nilПозиция, в которой произошел сбой синтаксического анализа, или ноль, если ошибка синтаксического анализа не произошла.

Описание

Проверяет JSON и возвращает сведения об ошибке в случае сбоя анализа.

Вызывай с 2 параметрами: json, options. Таблица аргументов показывает обязательные значения и настройки поведения.

Возвращает valid (boolean), errorMessage (string | nil), errorPosition (number | nil). Используй таблицу возвращаемых значений, чтобы отличать успех, nil и обрабатываемые ошибки.

Пример

Проверьте JSON и сообщите о позиции синтаксического анализатора в случае сбоя.

local valid, message, position = json.validate('{"value":42}')

if not valid then
    warn(message, position)
end

Типы

DecodeOptions

Управляет поведением анализа JSON.

useNull? boolean Представляет значение JSON null с нулевым контрольным значением библиотеки вместо nil.maxDepth? integer Устанавливает максимальную глубину вложенности от 1 до 4096.