הנקודות החשובות
- 01מופעל על ידי Ajv, את בעצמו משומש JSON Schema validator JavaScript — מה חלוף כאן חלוף בNode.js, Fastify, וmost JS toolchains.
- 02דוח כל validation שגיאה בפעם אחת (allErrors מצב), לא רק את הראשון כושל.
- 03כל שגיאה כוללת JSON Pointer path כדי לכשל שדה עבור navigation מהיר.
- 04בשניהם schema וdata פעל לגמרי בדפדפן שלך — לא משהו מועלה.
למה לאמת JSON נגד Schema?
JSON Schema הוא המדד הדרך כדי תיאור צורה JSON מסמך — דרוש fields, מותר סוגים, value constraints, nested object structures. אמת נגד schema לפני payload מגיע לייצור תופס סוג mismatches, דרוש fields חסרות, וconstraint תוכנה עדיין, כשהם זולים לתקן.
הנפוצה ביותר שימוש cases הם testing API request וresponse bodies, מאמתת config files, בדיקה OpenAPI דוגמה חפצים, ואימות data exports נגד מכונה צורה. Handytool's validator משתמשת בAjv — דה-פקטו JavaScript JSON Schema ספריה, משמשת בתוך Node.js עצמו — כך התוצאות כאן תואמים מה שלך backend יראה.
כיצד לאמת JSON נגד Schema
- 01
הדבק את JSON Schema שלך
הדבק את schema בpanel שמאלה. זה יכול להיות Draft 7 או 2019-09 או 2020-12 schema עם סוג, properties, דרוש, items, anyOf, allOf — כל סטנדרטי Ajv-supported keyword.
- 02
הדבק את JSON data שלך
הדבק את data מסמך אתה רוצה אמת בpanel ימינה. זה המופע — API request גוף, config חפץ, export record, או דוגמה יחידה מ-OpenAPI spec שלך.
- 03
לחץ על אמת
Ajv פועל את validation עם allErrors: true, יעני זה אוסף כל הוכשל במקום עצור בראשון.
- 04
סקור את רשימת שגיאה
כל שגיאה מראה את JSON Pointer path כדי לכשל ערך (לדוגמה /user/email), את הכשל keyword (סוג, דרוש, minimum), והodor-readable הודעה. תקן כל אחד ו-re-validate.
מה מפתחים אמת עם JSON Schema
- 01REST API request bodies — משיג payload תאמות את endpoint's צפוי צורה לפני שליחה.
- 02OpenAPI spec דוגמה חפצים — אמת כל דוגמה נגד הinline schema רכיב.
- 03Config files — משיג דרוש keys נוכח וערכים הנוכחים סוג.
- 04Data pipeline records — כתע structural drift בין data producers וconsumers.
- 05Form submission payloads — בדוק כי frontend validation mirror backend schema constraints.
- 06Third-party webhook bodies — משיג את הdocumented schema תאמות את actual payload.
פרטי Validation, אין שרת נדרש
Ajv פועל לגמרי בדפדפן שלך. לא schema וגם data משודרת לשום שרת — אתה יכול בטוח אמת schemas תיאור internal data structures וdata חפצים כי להכיל sensitive שדה ערכים.
ה-validator תומך JSON Schema drafts 6, 7, 2019-09, ו-2020-12. הנפוצה ביותר draft בבר היא Draft 7, שמכסים כל יום-ל-יום keywords: סוג, properties, דרוש, items, minimum, maximum, pattern, enum, anyOf, allOf, oneOf, לא, וגם $ref.
JSON Schema Validator FAQ
אילו JSON Schema drafts נתמך?
Ajv תומך drafts 6, 7, 2019-09, ו-2020-12. Draft 7 הוא הנפוצה ביותר בqueries قائمة וקובלים כל סטנדרטי keywords.
למה לא $ref schema שלי resolve?
חיצוני $ref URLs לא מביאים בכלי רק-בדפדפן זה. Inline כל referenced schemas תוך שימוש $defs וlocal JSON pointers כמו #/$defs/MyType.
האם schema או data שלי מועלה לשום שרת?
לא. Ajv פועל לגמרי בדפדפן שלך — בשניהם schema וdata נשאר בתקן שלך.
האם אני יכול להשתמש זה לאמת OpenAPI 3 spec?
אתה יכול אמת בודדות schema רכיבים וdוגמה חפצים. אמת את כל OpenAPI מסמך דורש דדיקט OpenAPI validator שמבינה את spec meta-schema.
למה אני רואה שגיאות מרובות במקום רק את הראשון?
ה-validator מוגדר עם allErrors: true, שעושה Ajv אוסף כל הוכשל במקום עצור בראשון. זה מכוון — אתה יכול לתקן כל בעיות בפעם אחת אזי כך דורש רציפה validation מנסיונות.