Syntax
json.tryDecode(json: string, options?: DecodeOptions): boolean | any | nil | string | nil | number | nilArgumente
| Name | Typ | Beschreibung |
|---|---|---|
json | string | JSON-Zeichenfolge zum Parsen, Formatieren, Minimieren oder Validieren. |
options? | DecodeOptions | Optionale Einstellungstabelle, die das Verhalten des Vorgangs steuert. |
Rückgaben
| Name | Typ | Beschreibung |
|---|---|---|
success | boolean | True, wenn der Vorgang erfolgreich abgeschlossen wurde. |
decoded | any | nil | Decodierter Luau-Wert oder decodierte Bytefolge. |
errorMessage | string | nil | Wenn das Laden oder Parsen fehlschlägt, wird eine Fehlermeldung zurückgegeben, andernfalls Null. |
errorPosition | number | nil | Position, an der die Analyse fehlgeschlagen ist, oder Null, wenn kein Analysefehler aufgetreten ist. |
Beschreibung
Versucht, JSON zu analysieren und strukturierte Fehlerinformationen zurückzugeben, anstatt sie auszulösen.
Rufe es mit 2 Parameter(n) auf: json, options. Die Argumenttabelle erklärt, welche Werte erforderlich sind und welche nur das Verhalten verfeinern.
Es gibt success (boolean), decoded (any | nil), errorMessage (string | nil), errorPosition (number | nil) zurück. Nutze die Rückgabetabelle, um erfolgreiche Werte von nil-Ergebnissen und behandelbaren Fehlern zu trennen.
Beispiel
Versuchen Sie, JSON zu dekodieren, ohne eine fehlerhafte Eingabe auszulösen.
local ok, value, message, position = json.tryDecode('{"ready":true}')
if ok then
print(value.ready)
else
warn(message, position)
endTypen
DecodeOptions
Steuert das JSON-Parsing-Verhalten.
useNull? boolean Stellt JSON Null mit dem Null-Sentinel der Bibliothek anstelle von Null dar.maxDepth? integer Legt die maximale Verschachtelungstiefe fest, geklemmt von 1 bis 4096.