Syntaxe
json.decodeSafe(json: string, options?: DecodeOptions): boolean | any | nil | string | nil | number | nilArguments
| Nom | Type | Description |
|---|---|---|
json | string | Chaîne JSON à analyser, formater, réduire ou valider. |
options? | DecodeOptions | Tableau de paramètres facultatifs qui contrôle le comportement de l'opération. |
Retours
| Nom | Type | Description |
|---|---|---|
success | boolean | Vrai lorsque l'opération s'est terminée avec succès. |
decoded | any | nil | Valeur Luau décodée ou chaîne d'octets décodée. |
errorMessage | string | nil | Message d'erreur renvoyé en cas d'échec du chargement ou de l'analyse, sinon nul. |
errorPosition | number | nil | Position où l'analyse a échoué, ou nulle lorsqu'aucune erreur d'analyse ne s'est produite. |
Description
Analyse JSON sans lancer et renvoie les détails du succès, de la valeur et de l'erreur.
Appelle le avec 2 parametre(s): json, options. La table des arguments indique les valeurs requises et celles qui affinent le comportement.
Il renvoie success (boolean), decoded (any | nil), errorMessage (string | nil), errorPosition (number | nil). Utilise la table des retours pour separer les valeurs reussies, les resultats nil et les erreurs recuperables.
Exemple
Analysez le JSON non fiable sans générer d'erreur.
local ok, value, message, position = json.decodeSafe('{"ready":true}')
if ok then
print(value.ready)
else
warn(message, position)
endTypes
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.