Command Palette

Search for a command to run...

מח

מחולל סכמת JSON

צור סכימת JSON מכל דגימת JSON. מסיק סוגים, ממזג מערכים של אובייקטים לסכימת פריט אחת, גוזר שדות חובה ומזהה פורמטים של תאריך-שעה, דואר אלקטרוני, URI ו-UUID. טיוטה-07 ו-2020-12 פלט. 100% צד הלקוח.

מהו מחולל סכמת JSON?

מחולל סכימת JSON קורא ערך JSON לדוגמה - תגובת API, קובץ תצורה, מטען webhook - וכותב סכימת JSON שמאמתת אותו. הוא מסיק את הסוג של כל שדה, ממזג מערך של אובייקטים לסכימת פריט בודדת ולא לאיחוד רועש, גוזר אילו מפתחות נדרשים מאלה הקיימים בכל רשומה, ויכול לתייג פורמטים של מחרוזת כמו תאריך-שעה, דואר אלקטרוני, uri ו-uuid. אתה מדביק נתונים שכבר יש לך; אתה מקבל את הסכימה שאחרת היית כותב ביד סעיף אחר סעיף.

כתיבת סכימה ביד היא איטית וקלה לטעות בעדינות מפתה להקליד את מה שאתה חושב שמטען מכיל, להחמיץ שדה מקונן, לסמן מאפיין מדי פעם ריק כנדרש, או לשכוח שנקודת קצה אחת מחזירה מערך שבו אחרת מחזירה אובייקט בודד סכימה שנוצרת ישר מנתונים אמיתיים מתחילה מהצורה בפועל, כך שהמסמך שאתה מאמת מול תואם את מה שהשירות באמת שולח משם אתה מהדק אילוצים - דפוסים, enums, מינימום - ביד, אבל הפיגום המייגע נעשה.

הכל פועל בדפדפן שלך מנוע ההסקה הוא TypeScript ללא תלות, לא עטיפה סביב API מתארח, כך שמטענים - הנושאים באופן שגרתי אסימונים, מיילים ומזהים פנימיים - לעולם אינם עוזבים את הדף בחר Draft-07 או בניב 2020-12, הוסף כותרת, החלף זיהוי שדות חובה, זיהוי פורמטים ו-`additionalProperties` קפדני, ולאחר מכן העתק את הסכימה או הורד אותה כקובץ.json.

הסכימה מתארת את המדגם שלך ולא את הכוונה שלך, אז התייחס לפלט כטיוטה ראשונה: שדות נדרשים מוסקים ממה שקורה, ופורמטים מזוהים לפי דפוס, כך שמחרוזת שנראית כמו תאריך מוקלדת כאחת אפילו כאשר מדובר במזהה שרק דומה לאחד.

הנה דוגמה מעובדת למחולל סכימת JSON מ-JSON עם יותר מרשומה אחת. הדבק [{"id":1,"email": "[email protected]","nick":"x"},{"id":2,"email":null}] ולחץ על Generate. הפלט הוא סכימת מערך שלפריטים שלה יש id כמספר שלם, email כ-["string", "null"] ו-nick כמחרוזת, עם ההגדרה הנדרשת ל-id ו-email, מכיוון שחסר nick מהרשומה השנייה. הכותרת קוראת 3 מאפיינים, 2 נדרשים, עומק 2, 219 בתים. זה התפקיד של כל מחולל סכימות JSON ל-JSON: כל רשומה שתוסיף יכולה להרחיב סוג או להוריד מפתח מהנדרש.

כיצד להשתמש במחולל סכמת JSON?

  1. הדבק את ה-JSON שלך

    שחרר תגובת API, מתקן או כל ערך JSON. טען תחילה את הדוגמה כדי לראות כיצד אובייקטים מקוננים, מערכים של אובייקטים ופורמטים של מחרוזות מטופלים.

  2. בחר את הניב

    בחר Draft-07 עבור התמיכה הרחבה ביותר בכלי עבודה או 2020-12 עבור המפרט הנוכחי. ה-$schema URI הנכון נכתב על הפלט עבורך.

  3. הגדר את האפשרויות שלך

    הוסף כותרת אופציונלית, החליט אם לפלוט מערך נדרש, לזהות פורמטים של מחרוזות ולנעול אובייקטים עם מאפיינים נוספים: FALSE לאימות קפדני.

  4. ליצור, ולאחר מכן להעתיק או להוריד

    לחץ על GENERATE. סקור את הסוגים המשוערים והשדות הנדרשים, ולאחר מכן העתק את הסכימה ללוח שלך או הורד אותה כקובץ .json מוכן לכניסה לאימות שלך.

תכונות מפתח

  • טיוטה-07 ו-2020-12 פלט

    פולט את הניב DRAFIT-07 הנתמך בהרחבה או את המפרט הנוכחי של 2020-12. מזהה $schema התואם נכתב על השורש כך שהמאמתים בחר את הכללים הנכונים.

  • מיזוג מערך חכם

    מערך של אובייקטים הופך לסכימת פריטים בודדים המתארת אלמנט אחד, לא לשום דבר רחב ידיים. נדרשים מפתחות הקיימים בכל אלמנט; מפתחות המופיעים רק בחלקם נותרו אופציונליים.

  • הסקה שדה נדרשת

    המחולל שואב את המערך הנדרש ממפתחות הקיימים בכל אובייקט שהוא רואה, וכך בדיוק מתנהגים נתונים מעומדים אמיתיים - שדות מסוימים תמיד שם, אחרים לא.

  • זיהוי פורמט מחרוזת

    מזהה תאריך-שעה, תאריך, שעה, דואר אלקטרוני, URI, UUID ו-IPv4 ומתייג אותם עם מילת המפתח המתאימה בפורמט, מה שנותן לך אימות שאחרת היית מוסיף ביד.

Frequently Asked Questions

הדבק את ה-JSON שלך בעורך, בחר Draft-07 או 2020-12, ולחץ על Generate. הכלי מסיק את סוג כל שדה, מחלץ את המקשים הנדרשים ומוציא סכימה שתוכל להעתיק ישירות למאמת. שום דבר לא מועלה - ההסקה פועלת כולה בדפדפן שלך.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!

json schema generatorjson to json schema generatorjson schema generator from jsonjson to schema generatorjson to json schema generator onlinegenerate json schemajson to json schemajson schema from jsonjson schema draft-07json schema 2020-12infer json schemajson validation schemajson schema builder