الصيغة
json.tryDecode(json: string, options?: DecodeOptions): boolean | any | nil | string | nil | number | nilالوسائط
| الاسم | النوع | الوصف |
|---|---|---|
json | string | سلسلة JSON للتحليل أو التنسيق أو التصغير أو التحقق من الصحة. |
options? | DecodeOptions | جدول الإعدادات الاختياري الذي يتحكم في كيفية تصرف العملية. |
القيم الراجعة
| الاسم | النوع | الوصف |
|---|---|---|
success | boolean | صحيح عند اكتمال العملية بنجاح. |
decoded | any | nil | قيمة Luau التي تم فك تشفيرها أو سلسلة البايت التي تم فك تشفيرها. |
errorMessage | string | nil | تظهر رسالة خطأ عند فشل التحميل أو التحليل، وإلا لا شيء. |
errorPosition | number | 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.