JSON

json.tryDecode

يحاول تحليل JSON وإرجاع معلومات الخطأ المنظمة بدلاً من الرمي.

الصيغة

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

الوسائط

الاسمالنوعالوصف
jsonstringسلسلة JSON للتحليل أو التنسيق أو التصغير أو التحقق من الصحة.
options?DecodeOptionsجدول الإعدادات الاختياري الذي يتحكم في كيفية تصرف العملية.

القيم الراجعة

الاسمالنوعالوصف
successbooleanصحيح عند اكتمال العملية بنجاح.
decodedany | nilقيمة Luau التي تم فك تشفيرها أو سلسلة البايت التي تم فك تشفيرها.
errorMessagestring | nilتظهر رسالة خطأ عند فشل التحميل أو التحليل، وإلا لا شيء.
errorPositionnumber | nilالموضع الذي فشل فيه التحليل، أو لا شيء في حالة عدم حدوث خطأ في التحليل.

الوصف

يحاول تحليل JSON وإرجاع معلومات الخطأ المنظمة بدلاً من الرمي.

استدعه مع 2 parameter: json, options. يوضح جدول arguments القيم المطلوبة والقيم التي تضبط السلوك.

يعيد success (boolean), decoded (any | nil), errorMessage (string | nil), errorPosition (number | nil). استخدم جدول returns للفصل بين قيم النجاح ونتائج 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 يمثل JSON null مع الحارس الفارغ للمكتبة بدلاً من صفر.maxDepth? integer يضبط الحد الأقصى لعمق التعشيش، المثبت من 1 إلى 4096.