JSON

json.validate

Valide JSON et renvoie les détails de l'erreur en cas d'échec de l'analyse.

Syntaxe

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

Arguments

NomTypeDescription
jsonstringChaîne JSON à analyser, formater, réduire ou valider.
options?DecodeOptionsTableau de paramètres facultatifs qui contrôle le comportement de l'opération.

Retours

NomTypeDescription
validbooleanVrai lorsque la chaîne JSON est valide.
errorMessagestring | nilMessage d'erreur renvoyé en cas d'échec du chargement ou de l'analyse, sinon nul.
errorPositionnumber | nilPosition où l'analyse a échoué, ou nulle lorsqu'aucune erreur d'analyse ne s'est produite.

Description

Valide JSON et renvoie les détails de l'erreur en cas d'échec de l'analyse.

Appelle le avec 2 parametre(s): json, options. La table des arguments indique les valeurs requises et celles qui affinent le comportement.

Il renvoie valid (boolean), errorMessage (string | nil), errorPosition (number | nil). Utilise la table des retours pour separer les valeurs reussies, les resultats nil et les erreurs recuperables.

Exemple

Validez JSON et signalez la position de l'analyseur en cas d'échec.

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

if not valid then
    warn(message, position)
end

Types

DecodeOptions

Contrôle le comportement d'analyse JSON.

useNull? boolean Représente JSON null avec la sentinelle nulle de la bibliothèque au lieu de nil.maxDepth? integer Définit la profondeur d'imbrication maximale, comprise entre 1 et 4 096.