الصيغة
json.decodeSafe(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.decodeSafe('{"ready":true}')
if ok then
print(value.ready)
else
warn(message, position)
endالأنواع
DecodeOptions
يتحكم في سلوك تحليل JSON.
useNull? boolean يمثل JSON null مع الحارس الفارغ للمكتبة بدلاً من صفر.maxDepth? integer يضبط الحد الأقصى لعمق التعشيش، المثبت من 1 إلى 4096.