Skip to content

محوّل JSON إلى مخطط Zod

الصق JSON واحصل على مخطط Zod جاهز للاستخدام فوراً، 100% في متصفّحك. أنواع z.number().int() و.optional() و.nullable() صحيحة، مع نوع z.infer. مجاني.

بدون تتبّع يعمل في المتصفّح مجاني
الخيارات
0 حرف
إخراج Zod
0 سطر
تم التحقّق من الإخراج مقابل دلالات تحليل Zod v3 وv4 لحمولات API واقعية. — Go Tools Team · Jul 2, 2026

ما هو مخطط 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. 1

    الصق بيانات JSON

    أدرِج كائن JSON أو مصفوفة أو استجابة API في صندوق الإدخال. يبدأ التحويل فوراً.

  2. 2

    اضبط الإخراج

    أعد تسمية المخطط الجذري وبدّل سطر الاستيراد، أو نوع z.infer، أو كلمة export المفتاحية لتطابق نمط مشروعك.

  3. 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 على اليمين، مع اسم مستعار للنوع z.infer. انقر على «انسخ» لأخذه — بلا رفع ولا حساب ولا انتظار.
ما الفرق بين JSON إلى Zod وJSON Schema إلى Zod؟
تأخذ هذه الأداة قيمة JSON نموذجية — استجابة API أو كائناً — وتستنتج مخطط Zod من شكلها. أما JSON Schema إلى Zod فمهمة مختلفة: تحوّل مستند JSON Schema موجوداً إلى Zod. إن كانت لديك بيانات خام، فاستخدم هذه الأداة. وإن كان لديك ملف JSON Schema بالفعل، فحوّله بدلاً من ذلك.
كيف أحصل على نوع TypeScript من المخطط؟
تتضمّن كل نتيجة اسماً مستعاراً للنوع z.infer، فتحصل على Root مكتوب الأنواع بالكامل دون كتابته يدوياً. أبقِ المخطط مصدر الحقيقة الوحيد ودع TypeScript يشتقّ النوع، فلا ينحرف الاثنان أبداً. ويمكنك إيقاف سطر z.infer من «الخيارات» إن أردت المخطط وحده.
كيف تُعالَج الحقول الاختيارية والفارغة؟
عندما يظهر مفتاح في بعض عناصر المصفوفة دون غيرها، يُعلَّم حقله بـ.optional(). والحقل الذي يكون null في بعض العيّنات ومكتوب النوع في غيرها يصبح .nullable(). والحقل الذي يكون دائماً null فقط يصبح z.null(). يعامل Zod الاختياري والقابل للإبطال بشكل مستقل، فيطابق المخطط كيفية تباين بياناتك فعلاً.
أي نوع رقمي يولّد؟
تُعيَّن الأعداد الصحيحة إلى z.number().int()؛ وأي قيمة مكتوبة بفاصلة عشرية أو أُس تُعيَّن إلى z.number(). وإذا خلط حقل بين الأعداد الصحيحة والعشرية عبر العيّنات، فإنه يتوحّد إلى z.number() كي لا يرفض التحقّق قيمة مشروعة أبداً.
هل يعمل الإخراج مع Zod 3 وZod
نعم. يستخدم الكود المُولَّد المجموعة الفرعية الشائعة المستقرّة — z.object وz.string وz.number وz.array وz.union و.int و.optional و.nullable وz.infer — التي تتصرّف بالطريقة نفسها في Zod 3 وZod 4. تأكّد فقط من تثبيت حزمة zod في مشروعك.
كيف أتحقّق من البيانات بالمخطط المُولَّد؟
استورد المخطط واستدعِ RootSchema.parse(data) لرمي خطأ عند الإدخال غير الصالح، أو RootSchema.safeParse(data) للحصول على نتيجة نجاح أو خطأ مكتوبة الأنواع دون رمي استثناء. هذا مثالي عند حدود الثقة مثل استجابات API ومدخلات النماذج وإعداد البيئة.
كيف تُعالَج المصفوفات والأنواع المختلطة؟
تصبح المصفوفة من نوع واحد z.array لذلك النوع. وتُدمج مصفوفة الكائنات مفتاحاً بمفتاح في مخطط عنصر واحد. أما المصفوفة التي تخلط أنواعاً أوّلية فتصبح z.union، وأي شيء أكثر غموضاً يعود إلى z.unknown كي تنقّحه من عيّنة أغنى.
هل بيانات JSON الخاصة بي خاصة وآمنة؟
نعم. يجري التحويل 100% في متصفّحك باستخدام JavaScript. بيانات 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% داخل متصفحك. خرج بالاسم أو العشري أو السداسي عشري؛ لا يُرفع أبدًا.