JSON

json.tryDecode

JSON の解析を試み、スローする代わりに構造化されたエラー情報を返します。

構文

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

引数

名前説明
jsonstring解析、フォーマット、縮小、または検証する JSON 文字列。
options?DecodeOptions操作の動作を制御するオプションの設定テーブル。

戻り値

名前説明
successboolean操作が正常に完了した場合は True。
decodedany | nilデコードされた Luau 値またはデコードされたバイト文字列。
errorMessagestring | nilロードまたは解析が失敗した場合はエラー メッセージが返され、それ以外の場合は nil が返されます。
errorPositionnumber | nil解析が失敗した位置、または解析エラーが発生しなかった場合は nil。

説明

JSON の解析を試み、スローする代わりに構造化されたエラー情報を返します。

2 個のパラメータで呼び出します: json, options。引数表では必須値と動作を調整する値を確認できます。

success (boolean), decoded (any | nil), errorMessage (string | nil), errorPosition (number | nil) を返します。戻り値表を使って成功値、nil 結果、回復可能なエラーを分けて扱ってください。

不正な入力をスローせずに JSON をデコードしようとします。

local ok, value, message, position = json.tryDecode('{"ready":true}')

if ok then
    print(value.ready)
else
    warn(message, position)
end

DecodeOptions

JSON 解析動作を制御します。

useNull? boolean nil の代わりにライブラリの null センチネルを使用して JSON null を表します。maxDepth? integer ネストの最大の深さを 1 ~ 4096 の範囲で設定します。