تحويل JSON إلى JSDoc typedef
ضع الناتج أعلى ملف JavaScript ثم استخدم /** @type {Root} */ لتحصل على الإكمال التلقائي والتحقق في المحرر.
جارٍ تحميل الأداة…
المعالجة والخصوصية: تُحسب النتيجة داخل متصفحك ولا تُرسل بياناتك إلى أي خادم.
طريقة الاستخدام
- أدخل نص JSON واسم النوع الرئيسي.
- تظهر النتيجة فورًا وتتحدّث مع كل تعديل.
- انسخ النتيجة، أو انسخ رابطًا يحفظ القيم نفسها لمشاركتها.
طريقة الحساب
string وnumber وboolean وT[] و*، و@typedef لكل كائن مع @property لكل مفتاح. المفتاح الاختياري يكتب [name] وnull يضيف |null. إذا احتوى الكائن مفتاحا غير صالح كمعرف يكتب النوع كله بصيغة الكائن بين قوسين مزدوجين {{ }} التي يفهمها TypeScript.
مثال
المدخلات: اسم النوع الرئيسي = Root. النتيجة: الكود الناتج: /** * @typedef {Object} Order * @property {string} order_id * @property {number} total * @property {string|null} coupon */ /** * @typedef {Object} Address * @property {string} city * @property {string} postal_code */ /** * @typedef {Object} Root * @property {number} id * @property {string} name * @property {string} email * @property {boolean} is_active * @property {number} balance * @property {string[]} tags * @property {Address} address * @property {Order[]} orders */، عدد الأنواع: 3، عدد الحقول: 13.
{
"id": 1024,
"name": "Sara Ahmed",
"email": "sara@example.com",
"is_active": true,
"balance": 1520.75,
"tags": ["vip", "riyadh"],
"address": { "city": "Riyadh", "postal_code": "12211" },
"orders": [
{ "order_id": "A-1", "total": 99.5, "coupon": "EID10" },
{ "order_id": "A-2", "total": 120, "coupon": null }
]
}/**
* @typedef {Object} Order
* @property {string} order_id
* @property {number} total
* @property {string|null} coupon
*/
/**
* @typedef {Object} Address
* @property {string} city
* @property {string} postal_code
*/
/**
* @typedef {Object} Root
* @property {number} id
* @property {string} name
* @property {string} email
* @property {boolean} is_active
* @property {number} balance
* @property {string[]} tags
* @property {Address} address
* @property {Order[]} orders
*/الحدود والملاحظات
- التعريفات للمحرر وفحص checkJs فقط، ولا تتحقق من البيانات وقت التشغيل.
أسئلة شائعة عن هذه الأداة
كيف أستفيد من typedef في VS Code؟
اكتب /** @type {Root} */ قبل المتغير أو @param {Root} في دالة، فيظهر الإكمال التلقائي للحقول.
ماذا تعني [qty] في @property؟
الأقواس المربعة تعني أن المفتاح اختياري، لأنه غاب في بعض عناصر المصفوفة.
هل ترسل بياناتي إلى خادم؟
لا، التحويل يعمل داخل متصفحك ولا يغادر نص JSON جهازك.
