JSON

json.decodeSafe

يوزع JSON بدون رمي وإرجاع تفاصيل النجاح والقيمة والخطأ.

الصيغة

json.decodeSafe(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.decodeSafe('{"ready":true}')

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

الأنواع

DecodeOptions

يتحكم في سلوك تحليل JSON.

useNull? boolean يمثل JSON null مع الحارس الفارغ للمكتبة بدلاً من صفر.maxDepth? integer يضبط الحد الأقصى لعمق التعشيش، المثبت من 1 إلى 4096.