
משטח JSON ממיר אובייקט JSON מקונן לאובייקט ברמה אחת שהמפתחות שלו הם הנתיב המלא לכל ערך, כך ש-{"user":{"city":"Austin"}} הופך ל-{"user.city":"Austin"}. מערכים משתטחים באותו אופן, תוך שימוש באינדקס כקטע נתיב: {"תפקידים":["מנהל","עורך"]} הופך ל-{"תפקידים.0":"מנהל", "תפקידים.1": "עורך"}. התוצאה היא מפה שטוחה של נתיב לערך עלה ללא קינון שנותר.
השטחה היא הדרך שבה אתה מקבל תגובות API מקוננות עמוקות וקבצי תצורה לפורמטים שמבינים רק זוגות שטוחים של מפתח-ערך עמודות גיליון אלקטרוני, משתני סביבה, מפתחות הודעות מנוקדים i18n, מאגרי דגל תכונה וצינורות רישום וניתוח רבים מצפים כולם לרמה אחת של מפתחות, ונתיב מנוקד כגון user.address.city הוא הדרך הסטנדרטית לשאת דרכם את המבנה המקורי הפעולה ההפוכה, לא משוטחת, בונה מחדש את האובייקט המקונן ואת המערכים שלו מאותם מפתחות מנוקדים, כך שהטרנספורמציה היא נסיעה הלוך ושוב ללא הפסדים בשני הכיוונים.
הכלי הזה פועל כולו בדפדפן שלך. הוא מנתח את ה-JSON, מוביל אותו לערכי עלים, ומבצע סדרה של התוצאה השטוחה או המקוננת מבלי לשלוח דבר לשרת. שום דבר לא מועלה, נרשם או מאוחסן, מה ששומר על מטענים עם אסימונים, מזהים או נתונים אישיים במחשב שלך, והכלי ממשיך לעבוד במצב לא מקוון לאחר טעינת הדף.
השטחת מבנה עסקאות לצורה שגיליונות אלקטרוניים, מקודדי טפסים ומשתני סביבה יכולים לשאת, והנסיעה הלוך ושוב היא ללא הפסדים בשני הכיוונים בתנאי שדבר אחד מתקיים: המפתחות שלך לא חייבים להכיל כבר את המפריד. מפתח בשם "user.name" משוטח עם נקודה אינו ניתן להבדלה מאובייקט מקונן, וביטול השטחה יהפוך אותו לאחד. שנה את המפריד למשהו שהנתונים אינם משתמשים בו כאשר זה סיכון. מדדי מערך הופכים למקטעי נתיב מספריים, כך ש-items.0.id פונה לאלמנט הראשון, ו-unflattener צריך להחליט אם מפתח מספרי פירושו מערך או אובייקט עם מפתחות מספריים. אובייקטים ריקים ומערכים ריקים נשמרים במפורש ולא נשמטים, שכן איבודם ישנה את המשמעות של קובץ תצורה.
Flatten הופך את JSON המקונן למפתחות מנוקדים. Unflatten בונה מחדש אובייקטים ומערכים מקוננים ממפתחות מנוקדים. טען את המדגם כדי לראות את שני הכיוונים.
הדבק אובייקט מקונן כדי לשטח, או אובייקט שטוח עם מקשים מנוקדים כדי לא שטוח הקלט חייב להיות חוקי JSON; שגיאות ניתוח מדווחות עם המיקום המדויק.
בחר את המפריד, בדרך כלל נקודה, ובחר סימון נקודה (תפקידים 0) או סוגר (תפקידים [0]) עבור מדדי מערך שמור על אותן הגדרות עבור שני הכיוונים כך שהנסיעה הלוך ושוב תתאים.
לחץ על כפתור הפעולה, ולאחר מכן העתק את הפלט ללוח שלך או הורד אותו כקובץ.json. ספירת המפתחות מאשרת כמה עלים הופקו.
לשטח אובייקט מקונן, ואז לבטל את השטחה של התוצאה, ואתה מקבל את המקור בחזרה, כולל מערכים, nulls, בוליאנים, ומיכלים ריקים שתי הפעולות הן הפוכות מדויקות.
פריטי מערך שומרים על האינדקס שלהם בנתיב, כך שהסדר שורד את הנסיעה הלוך ושוב בחר סימון נקודות (items.0.id) או סימון סוגר (items[0].id) כדי להתאים למערכת שאתה מאכיל.
השתמש בנקודה כברירת מחדל, או עבור למפריד אחר כאשר מקשי היעד שלך כבר מכילים נקודות. אותו מפריד מניע גם שטוח וגם לא שטוח.
אובייקט ריק או מערך ריק נשמר כערך עלה במקום נשמט בשקט, כך שקונפיגור שמסתמך על רשימה ריקה עדיין מסתובב בצורה נכונה.
Generate a JSON Schema from any JSON sample. Infers types, merges arrays of objects into one item schema, derives required fields, and detects date-time, email, uri, and uuid formats. Draft-07 and 2020-12 output. 100% client-side.
Sort the keys of a JSON object alphabetically, recursively through nested objects, with optional array sorting. Ascending or descending, minify or pretty. Client-side, no signup.
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.
Convert JSON to clean, valid YAML instantly - configurable indentation and safe string quoting
0 comments
No comments yet. Be the first to share your thoughts!