
يقرأ محول JSON إلى TypeScript نموذجًا لقيمة JSON - استجابة API، وملف تكوين، وسجل قاعدة بيانات - ويكتب واجهات TypeScript التي تصفها. تصبح الكائنات المتداخلة واجهات مسماة خاصة بها، ويتم دمج صفائف الكائنات في واجهة عنصر واحد بدلاً من اتحاد مترامي الأطراف، ويتم وضع علامة اختيارية على المفاتيح الفارغة أو المفقودة من بعض السجلات. أنت تلصق البيانات التي لديك بالفعل؛ تحصل على أنواع كنت ستكتبها يدويًا.
تعد كتابة استجابة واجهة برمجة التطبيقات يدويًا أمرًا شاقًا وعرضة للخطأ بطريقة معينة: تكتب ما * تعتقد * ترجع نقطة النهاية ، وليس ما عادت بالفعل. يتم حذف الحقول التي لم تلاحظها مطلقًا ، ويتم كتابة عدد صحيح يتم أحيانًا صفرًا كـ "رقم" ، ويظهر الخطأ في وقت التشغيل في الإنتاج بدلاً من المحرر. يؤدي إنشاء أنواع مباشرة من حمولة حقيقية إلى سد تلك الفجوة ، لأن الشكل الذي تقوم بتجميعه هو الشكل الذي أرسله الخادم بالفعل.
كل شيء يعمل في متصفحك. محرك الاستدلال هو TypeScript خالي من التبعية، وليس غلافًا حول خدمة عن بعد، لذا فإن الحمولات - التي تحمل بشكل روتيني رموز الوصول وسجلات العملاء والمعرفات الداخلية - لا تترك الصفحة أبدًا. اختر واجهات أو اكتب أسماء مستعارة، وقم بتبديل الكلمة الأساسية `export` وتعديل `readonly`، واختر عرض المسافة البادئة، ثم انسخ الإخراج أو قم بتنزيل ملف.ts.
تصف الواجهات التي تم إنشاؤها العينة التي قدمتها، وليس واجهة برمجة التطبيقات التي تستدعيها، وهذا التمييز هو الخطر بأكمله. يتم وضع علامة على الحقل الذي يحدث في كل كائن من عينتك بأنه مطلوب حتى لو أغفله الخادم في بعض الأحيان، ولا يمكن تمييز الحقل الفارغ في العينة عن الحقل الذي يكون فارغًا دائمًا. المصفوفات الفارغة هي الحالة الأوضح: المصفوفة التي لا تحتوي على عناصر لا تعطي أي معلومات حول ما تحتوي عليه. يساعد دمج المصفوفة هنا من خلال دمج كل كائن في القائمة في واجهة واحدة ووضع علامات على المفاتيح المفقودة من بعض الإدخالات باعتبارها اختيارية، وبالتالي فإن العينة الأكبر والأكثر تنوعًا تنتج نوعًا أكثر صدقًا. عندما تحتوي واجهة برمجة التطبيقات على مخطط أو مستند OpenAPI، قم بالإنشاء من ذلك بدلاً من ذلك واستخدمه لاستكشاف استجابة غير موثقة.
قم بإسقاط استجابة API أو ملف تركيبات أو أي قيمة JSON. قم بتحميل العينة أولاً إذا كنت تريد أن ترى كيف يتم التعامل مع الكائنات المتداخلة والمصفوفات والحقول الفارغة.
قم بتعيين اسم نوع الجذر - عادةً المورد، مثل المستخدم أو الفاتورة. تتم تسمية الواجهات المتداخلة تلقائيًا من مفتاحها، مع تفرد أسماء عناصر المصفوفة (تصبح الإصدارات إصدارًا).
اختر واجهة أو اكتب الاسم المستعار ، وقرر ما إذا كنت تريد تصدير كل إعلان ، وإضافة معدِّلات للقراءة فقط إذا كانت قاعدة الشفرة الخاصة بك تفضل الأشكال غير القابلة للتغيير ، واضبط المسافة البادئة على 2 أو 4 مسافات.
اضغط على توليد. راجع الخيارات والنقابات المستنتجة ، ثم انسخ الكود إلى الحافظة أو قم بتنزيله كملف .ts جاهز للإسقاط في مجلد الأنواع الخاص بك.
يصبح كل كائن متداخل واجهة خاصة به قابلة لإعادة الاستخدام بدلاً من شكل مضمن مضمن ، بحيث يمكنك استيراد الأنواع الداخلية والرجوع إليها بشكل مستقل.
يتم دمج مجموعة من الكائنات في واجهة عنصر واحد. تصبح المفاتيح الموجودة في بعض السجلات ولكن ليس البعض الآخر اختيارية ، وهذا هو بالضبط كيف تتصرف بيانات واجهة برمجة التطبيقات المرقمة الحقيقية.
اختر ما إذا كانت القيمة الفارغة تعني أن المفتاح اختياري أو ما إذا كانت Null تنتمي إلى الاتحاد. كلا الاتفاقيتين شائعتان؛ لا تفرض الأداة أحدهما على قاعدة الشفرة.
قم بإصدار `` واجهة مستخدم الواجهة {}` أو 'type user = {}` لمطابقة قواعد Lint الحالية ، مع تعديلات "تصدير" و "readonly" بشكل ثابت عبر كل إعلان.
Flatten nested JSON into single-level dot-notation keys, or unflatten dotted keys back into nested objects and arrays. Lossless round trip. 100% client-side.
Generate a JSON Schema from any JSON sample. Infers types, merges arrays of objects into one item schema, derives required fields, and detects date-time, email, uri, and uuid formats. Draft-07 and 2020-12 output. 100% client-side.
Convert JSON into Go struct definitions with json tags. Nested objects become inline structs, arrays of objects are merged, and field names follow Go conventions. 100% in your browser.
Test JSONPath expressions against any JSON and see the matched values and their paths instantly. Supports wildcards, recursive descent, slices, and filters. 100% client-side.
0 comments
No comments yet. Be the first to share your thoughts!