JSON

json.format

Analyse et réencode JSON pour normaliser le formatage.

Syntaxe

json.format(json: string, encodeOptions?: EncodeOptions, decodeOptions?: DecodeOptions): string

Arguments

NomTypeDescription
jsonstringChaîne JSON à analyser, formater, réduire ou valider.
encodeOptions?EncodeOptionsParamètres d'encodage facultatifs tels qu'une jolie sortie ou l'ordre des clés.
decodeOptions?DecodeOptionsParamètres d'analyse facultatifs utilisés lors de la lecture de JSON.

Retours

NomTypeDescription
formattedstringChaîne JSON formatée.

Description

Analyse et réencode JSON pour normaliser le formatage.

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

Il renvoie formatted (string). Utilise la table des retours pour separer les valeurs reussies, les resultats nil et les erreurs recuperables.

Exemple

Normalisez le JSON existant en une représentation lisible.

local compact = '{"b":2,"a":1}'
local formatted = json.format(compact, {
    pretty = true,
    sortKeys = true,
})

print(formatted)

Types

EncodeOptions

Contrôle la sérialisation et le formatage JSON.

pretty? boolean Permet une sortie JSON formatée et multiligne.sortKeys? boolean Trie les clés d'objet avant l'encodage.emptyTableAsArray? boolean Encode une table vide sous forme de tableau au lieu d'un objet.errorOnUnsupported? boolean Génère une erreur au lieu de remplacer des valeurs non prises en charge.encodeInvalidNumbersAsNull? boolean Encode NaN et les nombres infinis en JSON null.maxDepth? integer Définit la profondeur d'imbrication maximale, comprise entre 1 et 4 096.indent? string Définit la chaîne d'indentation, limitée à 32 caractères.

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.