Syntaxe
json.tryDecode(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
Tente d'analyser JSON et renvoie des informations d'erreur structurées au lieu de les lancer.
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
Essayez de décoder JSON sans lancer une entrée mal formée.
local ok, value, message, position = json.tryDecode('{"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.