محوّل JSON إلى مخطط Zod
الصق JSON واحصل على مخطط Zod جاهز للاستخدام فوراً، 100% في متصفّحك. أنواع z.number().int() و.optional() و.nullable() صحيحة، مع نوع z.infer. مجاني.
الخيارات
ما هو مخطط Zod؟
مخطط Zod هو وصف لشكل القيمة يضع TypeScript أولاً، يتحقّق من البيانات في وقت التشغيل ويستنتج نوعاً ساكناً في وقت التصريف. وتوليده من عيّنة JSON يعني أنك لا تكتب يدوياً كوداً نمطياً للتحقّق لاستجابات API أو النماذج أو ملفات الإعداد. يستنتج مولّد مخطط Zod هذا الأنواع الصحيحة، ويعلّم المفاتيح الغائبة بـ.optional()، والقيم null بـ.nullable()، ويمنحك نوع z.infer — كل ذلك 100% في متصفّحك.
أمثلة
استجابة API
{"id":101,"name":"Ada Lovelace","email":"ada@example.com","active":true,"roles":["admin","user"]} import { z } from "zod";
export const RootSchema = z.object({
id: z.number().int(),
name: z.string(),
email: z.string(),
active: z.boolean(),
roles: z.array(z.string()),
});
export type Root = z.infer<typeof RootSchema>;
تتحوّل حمولة REST نموذجية إلى مخطط Zod جاهز للاستخدام. تُستنتج الأعداد الصحيحة z.number().int()، وتصبح مصفوفة roles على هيئة z.array(z.string()). ويأتي نوع z.infer مجاناً.
كائن متداخل
{"repo":"zod","owner":{"login":"colinhacks","id":100}} import { z } from "zod";
export const OwnerSchema = z.object({
login: z.string(),
id: z.number().int(),
});
export const RootSchema = z.object({
repo: z.string(),
owner: OwnerSchema,
});
export type Root = z.infer<typeof RootSchema>;
تصبح الكائنات المتداخلة مخططاً مسمّى خاصاً بها (OwnerSchema) يُشار إليه حسب الحقل. وتُصرَّح المخططات الفرعية قبل الأب الذي يستخدمها، وتُصرَّح الأشكال المتطابقة مرة واحدة ويُعاد استخدامها.
مصفوفة من الكائنات (حقل اختياري)
{"users":[{"id":1,"nick":"x"},{"id":2}]} import { z } from "zod";
export const UserSchema = z.object({
id: z.number().int(),
nick: z.string().optional(),
});
export const RootSchema = z.object({
users: z.array(UserSchema),
});
export type Root = z.infer<typeof RootSchema>;
تُدمج مصفوفات الكائنات في مخطط عنصر واحد. المفتاح الغائب من بعض العناصر يصبح .optional()، فيبقى التحليل ناجحاً عند غيابه.
حقل قابل للإبطال وتوحيد الأرقام
{"items":[{"sku":"A1","discount":0.1},{"sku":"A2","discount":null}]} import { z } from "zod";
export const ItemSchema = z.object({
sku: z.string(),
discount: z.number().nullable(),
});
export const RootSchema = z.object({
items: z.array(ItemSchema),
});
export type Root = z.infer<typeof RootSchema>;
الحقل الذي يكون null في بعض العيّنات ومكتوب النوع في غيرها يصبح .nullable(). ولأن 0.1 يحتوي على فاصلة عشرية، يتوحّد الرقم إلى z.number() بدلاً من z.number().int().
كيفية تحويل JSON إلى Zod
- 1
الصق بيانات JSON
أدرِج كائن JSON أو مصفوفة أو استجابة API في صندوق الإدخال. يبدأ التحويل فوراً.
- 2
اضبط الإخراج
أعد تسمية المخطط الجذري وبدّل سطر الاستيراد، أو نوع z.infer، أو كلمة export المفتاحية لتطابق نمط مشروعك.
- 3
انسخ أو حمّل
خذ مخطط Zod المُولَّد بنقرة واحدة والصقه مباشرة في طبقة التحقّق لديك.
Common Use Cases
- التحقّق من استجابات API
- حوّل عيّنة استجابة REST أو GraphQL إلى مخطط Zod وحلّلها عند حدّ الجلب، فتفشل البيانات المشوّهة بسرعة برسالة خطأ واضحة بدلاً من التسرّب عبر تطبيقك.
- نماذج ومدخلات مكتوبة الأنواع
- ولّد مخططاً لمدخلات النموذج أو الاستعلام وأعد استخدام نوع z.infer عبر واجهتك ومعالِجاتك لأمان الأنواع من طرف إلى طرف.
- مخططات tRPC وأدوات الذكاء الاصطناعي
- جهّز مخططات الإدخال والإخراج لإجراءات tRPC أو أدوات المخرجات المنظَّمة للذكاء الاصطناعي من حمولة مثال بدلاً من كتابتها يدوياً.
كيف يعمل التحويل
- الاستنتاج البنيوي
- يصبح كل كائن مخططاً مسمّى؛ وتُصرَّح الأشكال المتطابقة مرة واحدة ويُعاد استخدامها. تُدمج مصفوفات الكائنات مفتاحاً بمفتاح، والمفاتيح الغائبة من بعض العناصر تصبح .optional().
- تعيين الأنواع الصحيح
- تُعيَّن الأعداد الصحيحة إلى z.number().int() والعشرية إلى z.number(). وتُعيَّن السلاسل والقيم المنطقية والفارغة إلى z.string() وz.boolean() وz.null()؛ وتصبح مصفوفة الأوّليات المختلطة z.union().
- أنواع TypeScript مضمّنة
- يُصدَر اسم مستعار للنوع z.infer للمخطط الجذري، فيبقى المخطط مصدر الحقيقة الوحيد ولا تنحرف أنواعك عن تحقّقك أبداً.
- 100% على جانب المتصفح
- يجري التحليل والتوليد في متصفّحك دون أي طلبات شبكة، فتبقى بياناتك خاصة.
نصائح لمخططات Zod نظيفة
- سمِّ مخططك الجذري
- عيّن اسماً جذرياً ذا معنى مثل User أو ApiResponse بدلاً من الافتراضي Root لكود مقروء وموثّق ذاتياً.
- نقّح z.unknown() والاتحادات
- تنتج المصفوفات الفارغة أو المختلطة z.unknown() أو z.union() واسعاً. الصق عيّنة أغنى وتمثيلية كي تستنتج الأداة أنواعاً دقيقة، ثم شدّد أي شيء يبقى غامضاً.
- تحقّق عند الحدود
- استدعِ safeParse() حيث تدخل البيانات غير الموثوقة — استجابات API ومدخلات النماذج وwebhooks — كي تُلتقط البيانات السيّئة قبل أن تصل إلى منطق تطبيقك.
الأسئلة الشائعة
كيف أحوّل JSON إلى مخطط Zod؟
ما الفرق بين JSON إلى Zod وJSON Schema إلى Zod؟
كيف أحصل على نوع TypeScript من المخطط؟
كيف تُعالَج الحقول الاختيارية والفارغة؟
أي نوع رقمي يولّد؟
هل يعمل الإخراج مع Zod 3 وZod 4؟
كيف أتحقّق من البيانات بالمخطط المُولَّد؟
كيف تُعالَج المصفوفات والأنواع المختلطة؟
هل بيانات JSON الخاصة بي خاصة وآمنة؟
هل الأداة مجانية؟ وهل أحتاج إلى حساب؟
أدوات ذات صلة
عرض جميع الأدوات →محوّل Base64 — ترميز وفك ترميز أونلاين
الترميز والتنسيق
رمّز وفك ترميز Base64 مجاناً أونلاين — محوّل فوري مع دعم UTF-8 والرموز التعبيرية. خصوصية 100% — يعمل في متصفّحك. جرّبه الآن.
محوّل Base64 إلى صورة أونلاين
الترميز والتنسيق
فك ترميز سلسلة Base64 أو عنوان URI للبيانات إلى صورة داخل متصفّحك. عاين واقرأ الأبعاد ونوع MIME ثم نزّل كـ PNG أو JPG أو GIF أو SVG. بلا رفع.
محوّل CSV إلى JSON
الترميز والتنسيق
حوّل CSV إلى JSON في متصفحك. RFC 4180، استنتاج الأنواع، صف العنوان، أمان الأعداد الكبيرة. خصوصية 100%.
محوّل .env إلى JSON
الترميز والتنسيق
الصق ملف .env واحصل على JSON فورًا. كلمات مرور قاعدة بياناتك ومفاتيح API لا تغادر متصفحك أبدًا — خاص 100٪، بلا رفع، محلّل dotenv مجاني.
فكّ كيانات HTML المجانية — فكّ تهريب الرموز
الترميز والتنسيق
فُكّ كيانات HTML وفُكّ تهريب HTML أونلاين — مجانًا، بلا تسجيل، 100% داخل متصفحك. يحوّل المراجع بالاسم والعشرية والسداسية إلى أحرف؛ لا يُرفع أبدًا.
ترميز كيانات HTML المجانية — تهريب الرموز
الترميز والتنسيق
رمّز كيانات HTML وهرّب الأحرف الخاصة (< > & " ') أونلاين — مجانًا، بلا تسجيل، 100% داخل متصفحك. خرج بالاسم أو العشري أو السداسي عشري؛ لا يُرفع أبدًا.