
מחולל סכימת JSON קורא ערך JSON לדוגמה - תגובת API, קובץ תצורה, מטען webhook - וכותב סכימת JSON שמאמתת אותו. הוא מסיק את הסוג של כל שדה, ממזג מערך של אובייקטים לסכימת פריט בודדת ולא לאיחוד רועש, גוזר אילו מפתחות נדרשים מאלה הקיימים בכל רשומה, ויכול לתייג פורמטים של מחרוזת כמו תאריך-שעה, דואר אלקטרוני, uri ו-uuid. אתה מדביק נתונים שכבר יש לך; אתה מקבל את הסכימה שאחרת היית כותב ביד סעיף אחר סעיף.
כתיבת סכימה ביד היא איטית וקלה לטעות בעדינות מפתה להקליד את מה שאתה חושב שמטען מכיל, להחמיץ שדה מקונן, לסמן מאפיין מדי פעם ריק כנדרש, או לשכוח שנקודת קצה אחת מחזירה מערך שבו אחרת מחזירה אובייקט בודד סכימה שנוצרת ישר מנתונים אמיתיים מתחילה מהצורה בפועל, כך שהמסמך שאתה מאמת מול תואם את מה שהשירות באמת שולח משם אתה מהדק אילוצים - דפוסים, enums, מינימום - ביד, אבל הפיגום המייגע נעשה.
הכל פועל בדפדפן שלך מנוע ההסקה הוא TypeScript ללא תלות, לא עטיפה סביב API מתארח, כך שמטענים - הנושאים באופן שגרתי אסימונים, מיילים ומזהים פנימיים - לעולם אינם עוזבים את הדף בחר Draft-07 או בניב 2020-12, הוסף כותרת, החלף זיהוי שדות חובה, זיהוי פורמטים ו-`additionalProperties` קפדני, ולאחר מכן העתק את הסכימה או הורד אותה כקובץ.json.
הסכימה מתארת את המדגם שלך ולא את הכוונה שלך, אז התייחס לפלט כטיוטה ראשונה: שדות נדרשים מוסקים ממה שקורה, ופורמטים מזוהים לפי דפוס, כך שמחרוזת שנראית כמו תאריך מוקלדת כאחת אפילו כאשר מדובר במזהה שרק דומה לאחד.
שחרר תגובת API, מתקן או כל ערך JSON. טען תחילה את הדוגמה כדי לראות כיצד אובייקטים מקוננים, מערכים של אובייקטים ופורמטים של מחרוזות מטופלים.
בחר Draft-07 עבור התמיכה הרחבה ביותר בכלי עבודה או 2020-12 עבור המפרט הנוכחי. ה-$schema URI הנכון נכתב על הפלט עבורך.
הוסף כותרת אופציונלית, החליט אם לפלוט מערך נדרש, לזהות פורמטים של מחרוזות ולנעול אובייקטים עם מאפיינים נוספים: FALSE לאימות קפדני.
לחץ על GENERATE. סקור את הסוגים המשוערים והשדות הנדרשים, ולאחר מכן העתק את הסכימה ללוח שלך או הורד אותה כקובץ .json מוכן לכניסה לאימות שלך.
פולט את הניב DRAFIT-07 הנתמך בהרחבה או את המפרט הנוכחי של 2020-12. מזהה $schema התואם נכתב על השורש כך שהמאמתים בחר את הכללים הנכונים.
מערך של אובייקטים הופך לסכימת פריטים בודדים המתארת אלמנט אחד, לא לשום דבר רחב ידיים. נדרשים מפתחות הקיימים בכל אלמנט; מפתחות המופיעים רק בחלקם נותרו אופציונליים.
המחולל שואב את המערך הנדרש ממפתחות הקיימים בכל אובייקט שהוא רואה, וכך בדיוק מתנהגים נתונים מעומדים אמיתיים - שדות מסוימים תמיד שם, אחרים לא.
מזהה תאריך-שעה, תאריך, שעה, דואר אלקטרוני, URI, UUID ו-IPv4 ומתייג אותם עם מילת המפתח המתאימה בפורמט, מה שנותן לך אימות שאחרת היית מוסיף ביד.
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.
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.
Generate TypeScript interfaces from any JSON sample. Infers nested types, merges arrays of objects into a single interface, marks nullable and missing keys optional, and emits clean exportable code. 100% client-side.
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!