happytails.ai
עברית

ממזג JSON Schema

מזגו כמה סכמות JSON Schema, או הרכב allOf אחד, לסכמה יחידה. כללים שלא ניתן לקיים יחד מוצגים כהתנגשויות.

מקבל עד 100,000 תווים ו-2 עד 50 סכמות. הכול פועל בדפדפן. קובצי ההורדה הם הסכמה הממוזגת כ-JSON, דוח JSON ורשימת התנגשויות ב-CSV. מערך של סכמות JSON, או סכמה אחת עם allOf. גם YAML נתמך. עד 100,000 תווים. בדקו את ההגדרות לפני ההרצה.

התוצאה שלכם

דווחו על בעיה או שתפו רעיון.

ממזג JSON Schema
  1. הדביקו מערך של סכמות JSON, או סכמה שבה allOf מפרט את הסכמות.
  2. בחרו טיוטת JSON Schema או השאירו את הזיהוי אוטומטי.
  3. הריצו את המיזוג ועיינו בהתנגשויות ובכללים שנשמרו ב-allOf.
  4. הורידו את הסכמה הממוזגת ואת דוח ההתנגשויות.

מה צפוי לקרות

מקבל עד 100,000 תווים ו-2 עד 50 סכמות. הכול פועל בדפדפן. קובצי ההורדה הם הסכמה הממוזגת כ-JSON, דוח JSON ורשימת התנגשויות ב-CSV.

איך הכללים משתלבים

סוגים נחתכים, וכך גם ערכי enum ו-const; גבולות minimum ו-maximum מקבלים את הערך המחמיר יותר, רשימות required מתאחדות, ומאפיינים ממוזגים אחד-אחד. כשסכמה אחת אוסרת מאפיינים נוספים, נאסר גם מאפיין שרק הסכמה השנייה מגדירה; אם הוא נדרש, מדווחת התנגשות.

מה נשאר בתוך allOf

אי אפשר לשלב במדויק מילות מפתח מסוימות, למשל שני ביטויים רגולריים שונים, oneOf, not, if ו-then, patternProperties לצד כללי מאפיינים אחרים, ומאפייני unevaluated. הם נשמרים בתוך allOf בסכמה הממוזגת ומופיעים בדוח, כך שמשמעות הסכמה אינה משתנה.

בודק את התוצאה

ההתנגשויות מציינות את מיקומן בסכמה. התנגשות במאפיין אופציונלי או בכלל מספרי בלבד לא הופכת כשלעצמה את כל הסכמה לבלתי אפשרית. הדוח מסמן provenUnsatisfiable רק כאשר הוכחה מבנית חסומה קובעת שאין שום מופע שיכול לקיים את הסכמה הממוזגת. אחרת, הסימון אינו הוכחת סיפוק. כשאין התנגשויות, בדיקות דוגמאות אופציונליות מאמתות מועמדים מכל הרכב מול האחר באמצעות Ajv. סכמות קלט נפרדות שומרות על שורשי ההפניות המקומיות שלהן. דוגמאות הן ראיות, לא הוכחה ממצה לשקילות. המאמת דוחה סכמות שמשתמשות ב-__proto__ כמפתח של property, pattern או dependency.